4

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

我希望运行 SQLitefull 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;
4

1 回答 1

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 ...");
        ...
    }       
    ...
}
于 2012-08-13T13:15:38.070 回答