안녕하세요 저는이 SQL 쿼리 (MSSQL)를 가지고 있습니다. 조인 결과가 나에게 가장 최근 행의 "맨 위"행을 제공하는 쿼리를 수행하고 있습니다. 날짜 결과가 중복되지 않고 여기에서 찾을 수 있습니다. http://goo.gl/Uv0FR이 작업은 이미 SQL 쿼리를 수행 한 것으로 예상대로 작동하고 각 IDKEY에 대해 1 행을 얻습니다. 내가 LINQ에 SQL 변환려고 할 때 문제가LINQ 번역은 내 SQL 쿼리와 동일한 결과를 제공하지 않습니다
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')
은 그냥 중복없이 절 "의 pi.PlazaIe는 ('', '') 발생을 할 수 없습니다. (I ' 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 Query로 변환 할 수 있는지 또는 오류가 어디에 있는지 알려주고 싶습니다.
미리 감사드립니다.
** [sqltolinq] (http://www.sqltolinq.com/) **을 사용하여 SQL 쿼리를 linq 식으로 변환하십시오. –
내 편집 된 게시물을 확인하십시오. 나는 또 다른 해결책을 추가했다. – CSharpie