다음은 SQL Query Analyzer에서 작동합니다.where 절 in LINQ - C#
select oh.*
from order_history oh
join orders o on o.order_id = oh.order_id
where oh.order_id = 20119 and oh.date_inserted = (
select max(date_inserted) from order_history where order_id = oh.order_id
group by order_id
)
LINQ으로 변환하는 방법은 무엇입니까? 테스트 코드에서 컴파일러는 불평 :
var query = from ch in cdo.order_histories
join c in cdo.orders on ch.order_id equals c.order_id
where (ch.order_id.equals(1234)) &&
(ch.date_inserted == (cdo.order_histories.Max(p => p.date_inserted)))
select new OrderData() { };
'&이 &' 'System.DateTime'
내 LINQ 코드 유형 'INT'의 피연산자에 적용 할 수없는
오류 운영자
업데이트 : '=='를 사용하지 않았습니다. 나머지
항목 내 SQL 쿼리에서 이것이다 :
oh.date_inserted = ( select max(date_inserted) from order_history where order_id = oh.order_id group by order_id)
내가 LINQ에서이 작업을 수행하려면 어떻게합니까?
@ltech : 글쎄, 당신은 당신의 LINQ-to-SQL 코드에있는 것을 보여주지 못하기 때문에 조금 어렵습니다. LINQ-to-SQL 또는 LINQ-to-Entities를 사용하는지 여부도 지정하지 않습니다. – casperOne
처음에는 C#에서'='가 대입에 사용되고'=='는 동등성을 테스트하는 데 사용됩니다. – Greg