0

給定一個sqlite數據庫和代碼優先的方法,我該如何添加一個檢查約束到一個表? 我不能使用SQL,所以有一個屬性,所以我可以使用,如[PrimaryKey]sqlite.net代碼優先:添加檢查約束

我希望這樣的事情

public class XXX 
{ 
[PrimaryKey, Check(()=>Id==1)] 
public int Id {get;set;} 
} 

其實,我真的,就是約束表,以便它可以包含最多一行。如果還有其他辦法可以做到這一點,我也會很高興。

有沒有辦法做到這一點?

很多問候!

沃爾克

回答

2

不,你不能沒有使用SQL做到這一點。

如果您希望表只包含一行,您可以添加一個只讀屬性,其中包含一個唯一約束和一個常量值 - 當您保存第二條記錄時,它將因爲唯一約束而失敗。