【发布时间】:2012-11-15 16:43:08
【问题描述】:
大家好,我有这个 SQL 查询 (MSSQL),我正在执行一个查询,其中连接的结果按日期为我提供了最新行的“顶”行,而没有重复的结果,您可以在此处找到我在做什么http://goo.gl/Uv0FR 事情是这样的,我已经完成了 SQL 查询,正在按预期工作,每个 IDKEY 在“where pi.PlazaIe in ('' ,'') 没有重复
Select * from PlazaI pi
join (
Select * from PlazaE pe where
NOT EXISTS(SELECT 1 FROM PlazaE pe1
WHERE pe.Id_plaza = pe1.Id_plaza AND pe1.Fecha > pe.Fecha AND pe1.Fecha < GETDATE() and pe1.Id_Emp != 0)
) pe on pe.Id_plaza = pieepo.Id_plaza
join Emp e on pe.Id_Emp = e.Id_Emp
join View ct on ct.Id_Nodo = pe.id_nodo
where pi.PlazaIe in ('value1','value2')
问题是当我尝试从 SQL 转换为 LINQ 时,无法实现。 (我是这个 Linq 世界的新手)
以下是我的 linq 查询。
var q1 = (from pe in db.PlazaEmpleados
where !db.PlazaEmpleados.Any
(
pe1 => (pe1.Id_plaza.Equals(pe.Id_plaza) && pe1.Fecha > pe.Fecha && pe1.Id_Emp != 0 && pe1.Fecha > DateTime.Now)
) select pe);
var q2 = (from pi in db.Context
join pe in (q1) on pi.Id_plaza equals pe.Id_plaza
select new EmpVO
{
Id_Nodo = pe.id_nodo,
Id_plaza = pi.PlazaSome,
Num_Plaza = pi.Id_plaza,
});
当我运行这个 linq2sql 查询时,我得到了重复的结果,而不是每个值只有 1 个。所以问题是,我想知道是否有人可以很好地将 SQL 查询转换为 LINQ 查询或指出错误在哪里。
提前致谢。
【问题讨论】:
-
使用sqltolinq将sql查询转换为linq表达式
-
查看我编辑的帖子。我添加了另一个解决方案。
标签: sql linq linq-to-sql