Sqlite Vici CoolStorage主键未设置为整数自动递增

Sqlite Vici CoolStorage主键未设置为整数自动递增,sqlite,xamarin.ios,vici,Sqlite,Xamarin.ios,Vici,我想这是因为我不了解Vici CS ORM对于MonoTouch的工作原理。 将Vici CS用于Monotouch时,当主键未设置为INTEGER AUTOINCREMENT时,实例化DB映射对象需要很长时间(几十秒)。当PK为整数自动递增时,执行是平滑的 我的DB映射类如下所示: [MapTo("Employees")] public class Employee : CSObject<Employee, int> { public Employee () { }

我想这是因为我不了解Vici CS ORM对于MonoTouch的工作原理。 将Vici CS用于Monotouch时,当主键未设置为INTEGER AUTOINCREMENT时,实例化DB映射对象需要很长时间(几十秒)。当PK为整数自动递增时,执行是平滑的

我的DB映射类如下所示:

[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); } }
}
删除表创建脚本中的AUTOINCREMENT关键字会降低员工对象实例化的速度。不移除它就可以了

有没有避免这种限制的推荐方法?例如,是否可以将一个文本字段作为主键,然后可以包含guid

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