有没有办法在SQLite中为c#使用复合键注释?以下代码抛出一个异常,表示该表有多个主键:
userDatabase.CreateTable<MyObject>();
//class file
[SQLite.Table("MyObject")]
public class MyObject
{
[SQLite.PrimaryKey]
public int IdOne { get; set; }
[SQLite.PrimaryKey]
public int IdTwo { get; set; }
}
答案 0 :(得分:0)
不,目前的代码库是不可能的,但有几个拉取请求可以解决它https://github.com/praeclarum/sqlite-net/pull/281
答案 1 :(得分:0)
我有一个解决方案。这不是最好的解决方案,但它对我有用。
想法是手动制作复合键。 因此,在您的情况下,声明它:
userDatabase.CreateTable<MyObject>();
//class file
[SQLite.Table("MyObject")]
public class MyObject
{
public int IdOne { get; set; }
public int IdTwo { get; set; }
[SQLite.PrimaryKey]
public string auxCompositeKey {get; set;}
}
然后,在创建对象时,只需按如下方式创建de auxCompositeKey:
oMyObject.auxCompositeKey = IdOne.ToString()+ IdTwo.ToString()。