这是我的主实体,其中包含语言列表
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 Child类是
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调用中添加许多语言。
我的问题是:
public virtual ICollection WebSiteLanguages {get; 组; }
必需。如果没有创建WebSiteLanguage,则网站实体无效。
非常感谢。
答案 0 :(得分:0)
根据帖子http://blogs.msdn.com/b/adonet/archive/2011/05/27/ef-4-1-validation.aspx导航属性从构面验证中排除“因为你可以设置相关的FK值,导航属性将在SaveChanges()上设置”。要验证导航属性是否为null,您可以:
第三种解决方案似乎是最干净的。