在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:table“TableObject”具有多个主键
在“默认”SQLite中,可以使用以下方法完成:
CREATE TABLE something (column1, column2, column3, PRIMARY KEY (column1, column2));
但是如何使用SQLite ORM完成此操作?
答案 0 :(得分:1)
这不受支持,你可以在这里阅读: https://forums.xamarin.com/discussion/14769/how-do-we-create-a-composite-primary-key-using-sqlite-net-orm
有人扩展了SQLite PCL以启用一些其他功能 https://github.com/softlion/SQLite.Net-PCL