INNER JOIN和DISTINCT的SQL to Entities语法

时间:2013-04-15 15:42:40

标签: sql asp.net-mvc frameworks entity

我对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中?我打开查询语法或方法语法。哎呀,在我独自学习的过程中,我愿意接受任何帮助!谢谢!

1 个答案:

答案 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();

如果这不起作用,请发布您的实体。

希望这有帮助。