2012-02-09 24 views
1

這裏是我的主人實體誰都會包含語言的列表如何製作ICollection <子實體>必需。如何

public partial class WebSite 
    { 
     public WebSite() 
     { 
      this.WebSiteLanguages = new HashSet<WebSiteLanguage>(); 
     } 

     public int Id { get; set; } 
     public Nullable<int> WLUserID { get; set; } 
     public string DomainName { get; set; } 
     public Nullable<bool> IsActive { get; set; } 
     //[Required]  
     public virtual ICollection<WebSiteLanguage> WebSiteLanguages { get; set; } 
    } 

我WebSiteLanguage兒童類是

public partial class WebSiteLanguage 
    { 
     public int Id { get; set; } 
     public string LanguageName { get; set; } 
     public Nullable<int> WebSiteID { get; set; } 
     public bool IsDefault { get; set; } 

     public virtual WebSite WebSite { get; set; } 
    } 

在我看來,因爲我想一個AJAX調用中,我可以添加很多的語言。

enter image description here

我的問題是:
是否有可能使

公共虛擬的ICollection WebSiteLanguages {獲得; 集; }

必填。如果沒有創建WebSiteLanguage,網站實體無效。

非常感謝。

+0

我會開發自定義驗證屬性。在我看來,這是最可重用的解決方案。 – hival 2012-02-10 09:07:08

回答

0

按後http://blogs.msdn.com/b/adonet/archive/2011/05/27/ef-4-1-validation.aspx導航屬性被排除在小審定「你可以設置相關的FK值和導航屬性將在調用SaveChanges()設置」。爲了驗證導航屬性不爲空,您可以:

第三解決方案似乎Ť o是最乾淨的。

相關問題