2012-04-26 25 views
0

我有一個基於4.3.1的代碼優先的EF模型。實體框架中奇怪的ZeroOrOne外鍵異常4.3.1

在此模型中,兩個表之間存在ZeroOrOne關係:會話和事件。 一個事件可以只有一個會話,但也有事件(如一般啓動事件),它們沒有會話。許多活動可以分享理智的會話。

在我的實體類,我可以看到,這FK-關係映射:

[assembly: EdmRelationshipAttribute("MyModel", "fk_event_session", "Session", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Data.Session), "Event", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Data.Event), true)] 

然而,當我嘗試添加使用的SessionID空一個新的事件,我的應用程序將引發對這個外鍵異常關係。這是一個EF錯誤還是應該檢查一些其他的東西?

在此先感謝。

回答

0

我想通了什麼問題是,模型中出現了錯誤,導致屬性不能生成。不知何故,「引用約束」是空的,所以我刪除並重讀了關聯,現在它可以工作。

0

我認爲這不是ZeroOrOne關係,而是ZeroToMany。 這將是有益宥可以給我們您的實體和流利的映射的視圖(如果有的話)

可以使用流利的映射嘗試這樣的事:

modelBuilder.Entity<Event>() 
      .HasOptional(e => e.Session) 
      .WithMany();