【发布时间】:2014-10-11 08:27:43
【问题描述】:
在 SQLite 中为多于 1 列指定主键的语法是什么?
我正在使用 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 来完成这个?
【问题讨论】:
-
如果数据优先选项可用,您可以按照您的建议尝试使用架构的快速测试数据库并从架构创建模型,以查看它在代码中生成的内容。跨度>
标签: c# database sqlite orm primary-key