2017-05-15 43 views
1

我在實體框架中使用第一種方法實現一對一的關係。以下是我的模特。實體框架一對一的關係WithRequiredPrinciple保存實體沒有依賴實體

public class Course 
{ 
    public int CourseId { get; set; } 
    public string CourseName { get; set; } 

    public virtual Caption Caption { get; set; } 

} 

而這一次

public class Caption 
{ 

    public int CaptionId { get; set; } 
    public string CaptionDesc { get; set; } 
    public virtual Course Course { get; set; } 
} 

和背景我用下面的代碼

modelBuilder.Entity<Course>().HasRequired(c => c.Caption).WithRequiredPrincipal(c => c.Course); 

而在這裏閱讀這篇文章,One to One Relationship Example,他們說,我們當我們說你要保存過程沒有標題的實體會引發異常,實體框架不會讓您存儲實體。但是當我這樣做時,我沒有任何異常。我可以存儲這兩個實體沒有任何依賴。請告訴我我做錯了什麼。我正在使用實體框架6

編輯:表看起來如下。 enter image description here

+0

你沒有在任何一個表上顯示主鍵或外鍵,顯示它們的約束條件。 「SQL Server SSMS」如何查看錶? –

+0

他不需要。 Courseid和CaptionId遵循慣例,所以EF足夠聰明。 –

+0

這就是我的想法,但是如果他插入沒有Caption的行,那麼他不應該明確地強制與'Key'和'Foreign Key'的關係嗎? –

回答