首页 > 解决方案 > 使用join时如何在linq中选择*

问题描述

这是sql查询。两个查询的结果应该相同,但并不相同。

select * from Product pjoin TierImageMap ti on ti.ProductId=p.Idjoin Tiers t on t.Id=ti.TierType where p.Id=1AND ti.ImageVersion=2

这是我写的等效 linq 查询,但答案不相似。sql 查询的结果不一样。

(from p in _context.Product
join ti in _context.TierImageMap on p.Id equals ti.ProductId
join t in _context.Tiers on ti.TierType equals t.Id
where (p.Id == productid) && (ti.ImageVersion==imageversion)
select new
 {
   t,ti,p
  }).ToList().Distinct();

标签: asp.net-mvclinq

解决方案


推荐阅读