2014-10-11 52 views
0

SQLite中指定多于1列的主键的语法是什么?多列SQLite ORM主键

我正在使用Xamarin在C#中开发一个应用程序,并希望在使用SQLite ORM的多列列上使用带有主键的表。

TableObject类定义了一个表。 我想确保ProductID和RetailerID的组合是唯一的。 为了达到这个目标,我想让列的组合成为主键。

我已经试过如下:

class TableObject 
{ 
    [PrimaryKey] 
    public int ProductID { get; set; } 
    [PrimaryKey] 
    public int RetailerID { get; set; } 
    public decimal Price { get; set; } 
} 

该表是这样创建的:

database.CreateTable<Cache>(); 

,但我得到以下异常:

SQLite.Net.SQLiteException :表“TableObject”有多个主键

在 '默认' 的SQLite这是可以做到用:

CREATE TABLE something (column1, column2, column3, PRIMARY KEY (column1, column2)); 

但是我怎么做到这一点使用SQLite ORM?

+0

如果数据第一个选项是可用的,你可以尝试快速请按照您的建议测试数据库,并从架构中创建模型,以便查看它在代码中生成的内容。 – mungflesh 2014-10-11 08:39:32

回答