我可以在实体框架中混合每个层次结构的表和每种类型的表吗?

Bri*_*per 7 linq-to-entities entity-framework entity-framework-4

假设我有2个表:Message和SuperMessage

和3个实体:消息(基础(不是抽象)),注释(继承自Message)和SuperMessage(继承自Message)

消息具有不可为空的MessageType字段,该字段用作鉴别器.

  • MessageType = 1表示它是一条消息
  • MessageType = 2表示它是一个Comment
  • MessageType = 3 AND并加入SuperMessage意味着它是一个SuperMessage

问题是我无法在SuperMessage的Mapping详细信息部分的MessageType上指定条件,因为它无法看到MessageType字段,我无法忽略它.

我怎样才能让这些与彼此并肩作战呢?

更新构建错误:

错误3014:映射片段中的问题:外键"外键约束"FK_SuperMessage_inherits_Message'从表SuperMessage(ID)到表Message(MessageId):'未在模型中强制执行.需要创建关联或继承关系以强制执行此约束.

jer*_*mcc 1

我复制了这个并得到了和你一样的错误。据我所知,将这两种继承类型组合到一个基表中似乎是不可能的。但我很乐意被证明是错的。;-)