Vici CoolStorage主键未设置为INTEGER AUTOINCREMENT

时间:2012-11-06 17:09:37

标签: sqlite xamarin.ios vici

我想这与我对Vici CS ORM MonoTouch的工作方式缺乏了解有关。 使用Vici CS for Monotouch时,如果主键未设置为INTEGER AUTOINCREMENT,则实例化DB映射对象需要很长时间(几十秒)。当PK为INTEGER AUTOINCREMENT时,执行顺利。

我的数据库映射类如下所示:

[MapTo("Employees")]
public class Employee : CSObject<Employee, int>
{
    public Employee () { }

    public int EmployeeId { get { return (int)GetField ("EmployeeId "); } }
    public string Name{ get { return (string)GetField ("Name"); } set { SetField ("Name",value); } }
    public string Address{ get { return (string)GetField ("Address"); } set { SetField ("Address",value); } }
}

数据库创建脚本:

CREATE TABLE Employees (EmployeeId INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Address TEXT)");

删除表创建脚本中的AUTOINCREMENT关键字会减慢Employee对象的实例化速度。不删除它工作正常。

是否有建议的方法避免这种约束?例如,是否可以将TEXT字段作为主键,然后可以包含一个guid?

0 个答案:

没有答案