2014-03-03 89 views
0

保存數據我有以下結構:驗證失敗的一個或多個實體上使用實體框架

Class A{ 

    Public virtual int Id{get;set;} 
    [Required] 
    public virtual string Title { get; set; } 
    [Required] 
    public virtual string Body { get; set; } 
} 

Class B{ 

    Public virtual int Id{get;set;} 
    [Required] 
    public virtual string Description{ get; set; } 
} 

Class C{ 

    public virtual int Id{get;set;} 
    public virtual int AId {get;set;} 
    public virtual A A{get;set;} 
    public virtual int BId {get;set;} 
    public virtual B B{get;set;} 
} 

的EntityFramework自動創建數據庫表,並添加引用,以及。

現在在C類數據保存它給我驗證失敗的一個或多個實體

我已經檢查System.Data.Entity.Validation.DbEntityValidationException

,發現其給錯誤標題和正文是必須的。爲什麼我需要通過標題和正文,如果我傳遞AId和BId。 我也檢查過,如果我通過標題和身體,那麼它保存在C以及A和B的數據。我只想保存在C.

你能指導我做錯了什麼。

在此先感謝。

+0

[驗證失敗,一個或多個實體可能重複。請參閱'EntityValidationErrors'屬性的更多細節](http://stackoverflow.com/questions/7795300/validation-failed-for-one-or-more-entities-see-entityvalidationerrors-propert) –

+0

爲什麼你把所有標記爲'虛擬'? – Marco

回答

0

請發佈實際創建並保存對象的示例代碼。

這很可能是因爲A和B是C的屬性。爲了保存C,EF需要首先保存A和B並將它們鏈接到C中的外鍵關係。如果沒有A和B,則不能擁有C,並且因爲他們是必填字段,所以無法保存沒有標題和正文的A。

沒有看到更多的代碼,很難說肯定。

相關問題