c# - 连接表有两个以上字段的 Entity Framework 中的多对多关系?

标签 c# database entity-framework ado.net entity-framework-4

我正在将一个数据库导入到 Entity Framework 中,但我在处理多对多关系时遇到了问题,如下所示:

我的理解是,如果“连接表”(中间表)仅包含两个字段(外键),那么 EF 将自动删除中间表并创建多对多关系。不幸的是,我无法控制数据库架构,所以有人知道是否有办法手动复制该行为吗?

郑重声明,Employee_Employee_Type 中的 Id 字段背后没有任何用途,它只是设计不当。

最佳答案

根据 Entity Framework 4 recipes,第 554 页,这就是您应该如何做的(它并不漂亮)。

本质上,您想创建一个 Employee_Employee_type 映射表的 View ,但没有额外的列,然后手动将其映射到其他两个表。以下是相关页面的图片。我认为(并希望!)学术免费使用版权法涵盖了这一点...

顺便说一句,这本书很棒,所以我建议购买。希望如果作者碰巧遇到这种情况,我会喜欢他。

enter image description here

enter image description here

关于c# - 连接表有两个以上字段的 Entity Framework 中的多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999043/

相关文章:

c# - 如何使用 { } 将值加载到字典中

c# - 从一张 Excel 工作表复制到其他格式的工作表时在 VB.net 中丢失

php - MySQL Update只会更新查询中指定的某些字段

java - 通过 Java 连接到远程数据库

c# - Entity Framework Fluent API 映射

c# - 如何将值添加到 Sharepoint 中的查找字段?

C#如何获取窗体边框按钮的大小【最小化/最大化/关闭】

java - Microsoft JET 数据库引擎的数据库驱动程序

c# - 访问嵌套 View 模型中的变量

c# - Microsoft.OData.Client.DataServiceCollection<T> 异常 : Entity set name has not been provided for an entity of type