ncu*_*ica 2 sql linq linq-to-sql
大家好我有这个SQL查询(MSSQL),我正在进行一个查询,其中连接的结果给了我最新行的"顶部"行,没有重复的结果,你可以在这里找到我的信息做http://goo.gl/Uv0FR事情是这样的,我已经完成了SQL查询,正如我所期待的那样工作,我为每个IDKEY使用了一行"在哪里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')
Run Code Online (Sandbox Code Playgroud)
问题是当我试图从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,
});
Run Code Online (Sandbox Code Playgroud)
当我运行这个linq2sql查询时,我得到重复的结果,而不是每个值只有1.所以问题是,我想知道是否有人能够以良好的方式将SQL查询转换为LINQ查询或指向我错误的位置.
提前致谢.
您对日期的检查有所不同:
LINQ:
pe1.Fecha > DateTime.Now
Run Code Online (Sandbox Code Playgroud)
SQL:
pe1.Fecha < GETDATE()
Run Code Online (Sandbox Code Playgroud)
不是你的LINQ应该是:
pe1.Fecha < DateTime.Now
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |