2011-06-06 123 views
0

以我模式,我有兩個表具有1:它們之間的關係0..1:實體框架與6NF表

(實施例名字簡單起見)

Event 
---------- 
EventId (int; PK) 
StartDate (date) 
EndDate (date) 

EventTime 
--------- 
EventId (int; PK, FK) 
StartTime (time) 
EndTime (time) 

(如這是6NF,沒有這些列可以爲空)

在我的EDMX,我想這兩個表映射到一個單一的實體,其中StartTimeEndTime是空的實體,而不是在數據庫中。雖然這並不嚴格地表示數據庫中有什麼可能(數據庫將要求開始和結束時間的有效值,或者兩者都沒有值),但我希望EF能夠做出關於EventTime的決定行需要存在,具體取決於實體上是否設置了StartTimeEndTime值,如果只設置了一個值,則會引發異常。

這似乎並不是這是可能的,至少我如何配置它。我爲Event類添加了兩個標量屬性,並將它們映射到EventTime表。映射創建成功,但是當我嘗試編譯我的,我得到以下編譯器錯誤預編譯的觀點:

Error 108 Running transformation: Problem in mapping fragments starting at line 0:Non-nullable column EventTime.EndTime in table EventTime is mapped to a nullable entity property. 

很顯然,我可以處理EventTime實體作爲一個獨立的實體(因爲它實際上是在數據庫),但我希望通過這種方式來簡化API表面。我正在拍攝什麼?

回答

1

鑑於對這個問題沒有迴應,我將假設這是不可能的。