我对Entity Framework有点新鲜,需要一些关于语法的建议。我的目标是从一个表中检索一个不同的过滤设备列表,并将它们与另一个表中的ID匹配。
这是完成JOIN的RAW SQL。
SELECT DISTINCT DowntimeReasons.Equipment, Equipment.ID FROM DowntimeReasons INNER JOIN Equipment ON DowntimeReasons.Equipment = Equipment.Equipment WHERE DowntimeReasons.Emergency = 1
我已经能够使用以下代码在SQL中为实体重新创建不同的设备列表。
var distinctEquipmentList = db.DowntimeReasons
.Where(x => x.Emergency == true)
.Distinct()
.Select(x => x.Equipment)
.ToList();
但是如何将此列表加入到我需要的ID中?我打开查询语法或方法语法。哎呀,在我独自学习的过程中,我愿意接受任何帮助!谢谢!
答案 0 :(得分:2)
不看你的实体是什么样的,这是一个镜头。
您可以尝试这样的事情:
var query = (from dr in db.DowntimeReasons
join e in db.Equipments on dr.Equipment equals e.Equipment
where e.Emergency
select e.Equipment).Distinct().ToList();
如果这不起作用,请发布您的实体。
希望这有帮助。