首页 > 解决方案 > EF6 多对多关系:SqlException:列名“SubAccount_SubAccountID”无效

问题描述

从 Entity Framework EF6 加载数据时出现错误:

SqlException:列名“SubAccount_SubAccountID”无效。

这是我对 EF6 的查询:

var subAccounts = Context
            .SubAccount
            .Include(i => i.Users)
            .ToList();

异常图像

这个 ICollat​​ion Users 是使用 Fluent API 的多对多关系。

这是 UserConfiguration 类中的 Fluent API 配置:

HasMany(p => p.SubAccounts)
            .WithMany(r => r.Users)
            .Map(mc =>
            {
                mc.MapLeftKey("UserID");
                mc.MapLeftKey("SubAccountID");
                mc.ToTable("MOB_USER_SUBACCOUNT");
            });

有人能帮助我吗?

标签: c#entity-frameworkentity-framework-6ef-code-firstef-fluent-api

解决方案


试试这个指南:

https://www.entityframeworktutorial.net/code-first/configure-many-to-many-relationship-in-code-first.aspx

它将指导您使用 EF6 Code First 和 Fluent Api 配置多对多关系


推荐阅读