MonoTouch + SQLite + SQLite.Net ORM:全文索引

时间:2012-08-07 20:19:04

标签: ios sqlite xamarin.ios full-text-search

我在SQLite.NET上使用SQLite的MonoTouch ORM包装器来创建基于业务对象的数据库。工作正常。

我希望运行SQLite full text indexing command,以便创建一个全文虚拟表。但是SQLite.Net ORM不直接支持。有没有办法在MonoTouch上使用其他命令创建索引?

创建全文索引的SQL只是:

CREATE VIRTUAL TABLE "Term" USING FTS3 (
"Id" INTEGER PRIMARY KEY,
"Word" integer,
"Definition" TEXT 
);

insert into Term(Id,Word,Definition) 
  Select Id,Word,Definition from SomeOtherTable;

drop table SomeOtherTable;

1 个答案:

答案 0 :(得分:1)

我相信SQLite.NET不支持创建全文索引,但支持创建普通索引。

无论如何,您可以尝试通过以下方式执行任何自定义SQL代码:

<YOUR_SUBCLASS_OF_SQLiteConnection>.Execute(<YOUR_SQL_CODE>);

实施例:

public class LocalDatabase: SQLiteConnection
{
    ...
    public LocalDatabase (string path) : base(path)
    {
        ...
        Execute("CREATE VIRTUAL TABLE \"MyTable\" USING FTS3 ...");
        ...
    }       
    ...
}