【发布时间】:2009-03-03 07:53:59
【问题描述】:
对于我目前正在进行的项目的一部分,我有一组用于联合操作的四个表。一个表是其他三个表的抽象基础,每个表在我的 EF 模型中表示如下:
EF Model -- Actions http://chris.charabaruk.com/system/files/images/EF+Model+Actions.png
不过,我目前面临两个问题。第一个问题是Actor(对User 的引用)和Subject(对与每种操作类型关联的类的实体的引用)在我的子类中是null,尽管相关的数据库列持有关联表中行的有效键。虽然我可以通过 ActorReference 和 SubjectReference 获取密钥,但这当然需要设置一个新的 EF 上下文并查询它以获取引用的对象(因为 FooReference.Value 也是空的) .
第二个问题是具体动作类与其相关实体类之间关系的互惠端总是什么都没有。例如,Task.RelatedActions,它应该给我所有TaskAction 对象,其中Subject 指的是调用RelatedActions 的特定任务对象,它完全没有对象。同样,数据库中存在有效行,Entity Framework 只是没有将它们放入对象中并将它们交给我。
有人知道我做错了什么,我应该怎么做才能让它发挥作用?
更新:似乎所有关系属性都不再在我的实体模型中起作用了。卧槽……
【问题讨论】:
标签: entity-framework inheritance table-per-type