具有6NF表的实体框架

时间:2011-06-06 19:34:04

标签: entity-framework entity-framework-4

在我的模型中,我有两个表,它们之间有1:0..1的关系:

(为简单起见,示例名称)

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

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

(因为这是6NF,这些列都不可为空)

在我的edmx中,我正在尝试将这两个表映射到单个实体,其中StartTimeEndTime在实体上为空,但在数据库中不为空。虽然这并不严格地代表数据库中可能存在的内容(数据库要求开始和结束时间都有有效值,或者两者都没有值),我希望EF能够决定是否{需要存在{1}}行,具体取决于是否在实体上设置了EventTimeStartTime值,如果只设置了一个则抛出异常。

这似乎不可能,至少我如何配置它。我向EndTime类添加了两个标量属性,并将它们映射到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. 实体作为一个独特的实体来处理(因为它实际上在数据库中),但我希望通过这种方式简化API表面。我正在拍摄的是什么?

1 个答案:

答案 0 :(得分:1)

鉴于对这个问题缺乏回应,我认为这是不可能的。