Entity Framework 6,Fluent API - 多对多关系

问题描述 投票:0回答:0

我在 ASP.NET MVC 4 应用程序中使用 EF 6.4.4,并尝试使用 Fluent API 与连接表建立多对多关系来建模一些 SQL。我试图复制的 SQL 如下:

SELECT *
FROM tableA ta
LEFT JOIN joinTable jt ON ta.ID = jt.TAID
LEFT JOIN tableB tb ON jt.TBID = tb.ID

我尝试使用的流利语言是:

modelBuilder.Entity<tableA>()
            .HasMany(t => tableB)
            .WithMany()
            .Map(m =>
            {
               m.ToTable("joinTable");
               m.MapLeftKey("TAID");
               m.MapRightKey("TBID");
            });

代码可以编译,但是当我运行应用程序时,它会抛出异常

模型生成过程中检测到一个或多个验证错误

如果我注释掉 Fluent 并使用直接 LINQ (

from a in tableA....
),它可以工作,但我必须对连接进行编码。

有人知道为什么这可能不起作用吗?

问候。

asp.net-mvc-4 entity-framework-6
© www.soinside.com 2019 - 2024. All rights reserved.