【发布时间】:2023-03-27 13:05:02
【问题描述】:
我正在尝试从 SQL 中获取一些数据,但我无法使用 Linq 来完成,在 T-SQL 中这项工作:
select *
from MTRBatch MB
Inner Join MTR M on MB.Id = M.MTRBatchId
Inner JOIN MTRHeats MH on M.Id = MH.MTRId
LEFT OUTER JOIN Vendor V on MB.VendorId = v.Id
Inner Join Manufacturer MF on MB.ManufacturerId = MF.Id
Where MB.ManufacturerId = 1
AND MH.Heat = 'z01'
我需要除了那个过滤器之外的所有树。
我试过了,但没用:
MTRBatches
.Include(x => x.MTRs.Select(m => m.MTRHeats))
.Include(x => x.Manufacturer)
.Include(x => x.Vendor)
.Where(x => (x.Manufacturer.Id == 1));
.Where(x => x.MTRs.Any(m => m.MTRHeats.Any(h => h.Heat == 'z01')));
【问题讨论】:
-
没有像...那样工作?结果错误?碰撞燃烧?没有编译?
-
结果不正确:它给我带来了所有 MTR,就像 MH.HEat 过滤器没有发生
标签: c# linq entity-framework-4 lambda sql-to-linq-conversion