EF 4.3 代码首先在同一类型上映射 N:M

Posted

技术标签:

【中文标题】EF 4.3 代码首先在同一类型上映射 N:M【英文标题】:EF 4.3 code first mapping N:M on same type 【发布时间】:2012-02-21 14:00:28 【问题描述】:

我正在尝试使用相同类型的对象映射多对多场景。

所以我有一个 MyType 的父对象,其中包含许多相同类型的子对象。 MyType 的对象也可以有许多父对象。你是怎么做到的?

我查看了Mapping child items of same class with Entity Framework Code First,但这不是同一个问题(孩子只有一个父母)

【问题讨论】:

请提供您的 dbcontext 类 除了Set<MyType>,它是空的。此外,除了一个 Id 属性之外,MyType 类是空的。缺少的是ICollection<MyType> ChildrenICollection<MyType> Parents 属性,因为我不知道如何在同一类型中正确映射它们。我总是以数据库中的 FK 太多而告终 【参考方案1】:

我最终在两者之间使用了一个映射实体,所以我现在有 1:n:1 映射

【讨论】:

以上是关于EF 4.3 代码首先在同一类型上映射 N:M的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework 4.3 - TPH 映射和迁移错误

如何为具有多种父类型的子场景编写 EF 代码优先映射

ef核心 - 如何将类映射的多个变体放到同一个表中

EF4 Poco 问题映射类型相同的名称相同的程序集不同的命名空间

EF 代码首先告诉我对已经在 db 中的 db 对象进行迁移

EF框架的优点是啥?