在我的模型中,我有两个表,它们之间有1:0..1的关系:
(为简单起见,示例名称)
Event
----------
EventId (int; PK)
StartDate (date)
EndDate (date)
EventTime
---------
EventId (int; PK, FK)
StartTime (time)
EndTime (time)
(因为这是6NF,这些列都不可为空)
在我的edmx中,我正在尝试将这两个表映射到单个实体,其中StartTime
和EndTime
在实体上为空,但在数据库中不为空。虽然这并不严格地代表数据库中可能存在的内容(数据库要求开始和结束时间都有有效值,或者两者都没有值),我希望EF能够决定是否{需要存在{1}}行,具体取决于是否在实体上设置了EventTime
和StartTime
值,如果只设置了一个则抛出异常。
这似乎不可能,至少我如何配置它。我向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表面。我正在拍摄的是什么?
答案 0 :(得分:1)
鉴于对这个问题缺乏回应,我认为这是不可能的。