ios - MonoTouch + SQLite + SQLite.Net ORM : Full Text Indexing

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

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

我希望运行 SQLite 全文索引命令,以便创建全文虚拟表。然而 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;

最佳答案

我认为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 ...");
        ...
    }       
    ...
}

关于ios - MonoTouch + SQLite + SQLite.Net ORM : Full Text Indexing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853470/

相关文章:

c# - 开发 Windows Phone 8、SQL Server Express 或 SQL Server Compact 或 SQLite 时最好使用什么?

ios - Xamarin iOS 在应用程序从后台返回时呈现不同的 View Controller

ios - HKAnchoredObjectQuery 无法在后台可靠地返回

ios - 根据数组数据 block datepickerdate

ios - 'INSERT INTO' 突然返回错误 'PRIMARY KEY must be unique'

Android - 将 SQLite 与 MySQL 同步的最佳方式

c# - Mvvm - 如何在 SimpleIoC 中获取实例 key

iphone - 更改 Farseer 物理引擎设置以提高性能

iphone - 在 objective-c 中计算直角三角形的角度

ios - 快速将 PFGeoPoint 纬度和经度从解析转换为 CLLocation 纬度和经度