多列主键的SQLite ORM

3

如何在SQLite中指定多列主键的语法是什么?

我正在使用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" 有多个主键

在 'default' SQLite 中,可以通过以下方式实现:

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

但是我如何使用SQLite ORM实现这一点呢?

如果有数据优先的选项,你可以尝试使用按照你所建议的模式创建一个快速测试数据库,并根据该模式创建模型,以查看它在代码中生成了什么。 - mungflesh
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接