假设我有MSSQL表A,AB和B,其中AB是一个包含两列的简单ManyToMany映射表:A的主键和B的主键。实体框架不为AB生成类,只为集合生成A中的B和B中的A有时我想列出AB的内容。
有什么方法可以让EF为AB ManyToMany表生成代码吗?
PS我正在使用Rob Halletts Mocking Context Object Generator进行代码生成。不知道这是否相关。
答案 0 :(得分:1)
AB
联接表的内容:
var joinTableList = (from a in context.As
from b in a.Bs
select new
{
AId = a.Id,
BId = b.Id
})
.ToList();
您将获得匿名对象的列表。每个对象都有AId
和BId
作为属性。这个LINQ查询被转换为表AB
上的一个非常简单的SQL查询,没有任何连接:
SELECT
[Extent1].[AId] AS [AId],
[Extent1].[BId] AS [BId]
FROM [dbo].[ABs] AS [Extent1]