我正在使用Entity Framework Code First和SqlCe4編寫一個ASP.net MVC3應用程序。EFCodeFirst和SqlCe4的唯一約束條件
我一直在設計幾個模型,並發現一個是有趣的。這是我到目前爲止有:
public class Preference
{
public int PreferenceId { get; set; }
[Required]
public int StudentId { get; set; }
public virtual Student Student { get; set; }
[Required]
public int PresentationId { get; set; }
public virtual Presentation Presentation { get; set; }
[Required]
public int Rank { get; set; }
}
我然而,需要一個唯一約束或索引,因爲對於一個特定的學生,我想他們必須有偏好的列表,但PresentationId需要是唯一的爲每個學生。有沒有辦法通過Code First或某些驗證屬性來完成此操作?
這聽起來像我正在沿着偏好對象作爲媒介的多對多關係的分支,以添加Rank屬性。但是,我似乎無法找到如何確保這些值是唯一的。真的是最好的方法來手動添加一個唯一的索引到EF以外的數據庫?
: 'Database.SetInitializer(新DropCreateDatabaseIfModelChanges ());' 然而,在試圖實現您的解決方案,它無法在含ModelMatchesDatabase行編譯() –
mandreko
這個答案適用於我,目前在我的生產版本 – Yablargo