我需要帮助:我需要对 3 个表进行连接,但其中一个没有被 Entity Framework 映射,因为它只是一个关系表,我需要的连接是这样的:

select *
from Promocao p
join ProdutoPromocao as pp on pp.PromocaoId = p.IdPromocao
join Produto as pr on pp.ProdutoId = pr.IdProduto
join Boteco as b on pr.botecoId = b.IdBoteco
where b.IdBoteco = 1

但是表 ProdutoPromocao 没有被映射,我怎样才能用 Entity Framework 做到这一点?

我想过这样的事情:
(from pr in db.Promocao
 join p in db.Produto on (pr.Produto.Select(x=>x.IdProduto)) equals p.IdProduto //this line is not working, I would need something like pr.Produto.IdProduto but it does not offer me this alternative
 join b in db.Boteco on p.BotecoId equals b.IdBoteco
 where b.IdBoteco == idBoteco
 select pr
 ).ToList();

有人请帮助我。

最佳答案

您可以尝试如下所示。

(from pr in db.Promocao
 join p in db.Produto on (pr.Produto.Select(x=>x.IdProduto).FirstOrDefault()) equals p.IdProduto
 join b in db.Boteco on p.BotecoId equals b.IdBoteco
 where b.IdBoteco == idBoteco
 select pr
 ).ToList();

关于c# - 使用未映射的表在 Entity Framework 中进行连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39262802/

10-16 14:19