2011-06-06 125 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

鉴于对这个问题没有回应,我将假设这是不可能的。