假设我有2个表:Message和SuperMessage
和3个实体:消息(基础(不是抽象)),注释(继承自Message)和SuperMessage(继承自Message)
消息具有不可为空的MessageType字段,该字段用作鉴别器。
问题是我无法在SuperMessage的Mapping详细信息部分的MessageType上指定条件,因为它无法看到MessageType字段,我无法忽略它。
如何将这些工作与彼此并排?
更新构建错误:
错误3014:映射片段出现问题:外键“外键约束”FK_SuperMessage_inherits_Message'从表SuperMessage(ID)到表Message(MessageId):'未在模型中强制执行。需要创建关联或继承关系来强制执行此约束。
答案 0 :(得分:3)
您是否尝试过添加中间抽象实体类型,即:
abstract MessageBase --> Message table
non-abstract Message --> Message table when MessageType == 1
non-abstract Comment --> Message table when MessageType == 2
abstract SuperMessageBase --> Message table when MessageType == 3
non-abstract SuperMessage --> SuperMessage table
答案 1 :(得分:1)
我复制了这个并得到了和你一样的错误。据我所知,似乎不可能将这两种类型的继承组合到一个基表中。我很想被证明是错的。 ; - )