【发布时间】:2016-11-12 23:17:30
【问题描述】:
我在这里遇到了分层设置的问题,我不知道如何使用实体框架 fluentapi 正确配置它,或者是否有可能。
我有我的自引用表,其中有我的实体和对父项的引用:
MyEntity(Id, Name, ParentId)
我得到了我可以遍历的树,它工作得很好。 我做了一个视图,其中每个 MyEntityId 都有根实体的 MyEntityId。
MyView(EntityId, EntityRootId)
我在 MyEntity 中创建了一个虚拟属性,可以直接遍历视图的根元素。 只要我中间有一步,它就可以工作,在那里我为视图提供了自己的实体(MyEntityRoot)。
我的实体 > 我的实体根 > 我的实体
现在我想删除该间接并直接从 我的实体 > 我的实体
基本上它就像两个一对一的关系,但我希望它表现得像一个多对一的关系,并且在两者之间有一个映射表。 映射表是只读的,仅用于方便导航。
有可能吗?还是我必须坚持中间的实体,即使我不希望它在那里?
它会是什么样子? 我尝试了类似的方法,但它不起作用。
modelBuilder
.Entity<MyEntity>()
.HasRequired(e => e.Root)
.WithMany()
.Map(m =>
m.ToTable("MyView");
m.MapKey("EntityRootId")
)
【问题讨论】:
-
那行不通您能否更具体地说明什么行不通?
标签: c# entity-framework ef-fluent-api