0

여기에 SQL 쿼리가 있습니다. tables, one is Categories and other Sub Categories ,,, 사용하고 싶습니다. inner query(Category table) and that value pass to outer query(Sub categories table) 람다 식으로 엔티티 프레임 워크로 변환하는 방법 ..? DCSystemSubcategories을 추정람다 구문을 사용하여 SQL 하위 쿼리를 변환하십시오.

select * 
from DC_System_SubCategories 
where CatID = (select max(CatID) 
       from DC_System_Categories) 

답변

2

적절한 속성을 가진 IEnumerable<DCSystemSubcategory>이며, DCSystemCategoriesIEnumerable<DCSystemCategory> 관련 :

var subcategoriesWithMaxCatId = DCSystemSubcategories 
          Where(x=>x.CatID == 
           DCSystemCategories.Max(sc=>sc.CatID)) 

그러나 거기에 당신이 DCSystemSubcategories을 채우는 방법에 따라 안정성 문제는, 그래서 다른 논리를 할 것으로 예상; 또한 CatID를 반복 할 수있는 경우 결과가 비 결정적입니다.

편집 됨 : Magnus가 주석에서 우수한 변환을 지적했기 때문에. 그리고 우리가 간과 한 질문의 세부 사항을 설명하기 위해 ...

+1

그리고 'CatId'가 고유하지 않고 모든 일치를 원한다면 :'var q = DC_System_SubCategories.Where (x => x.CatID == DC_System_SubCategories .Max (p => p.CatID)); ' – Magnus

+0

더 나은 변환 .... 편집. –

+0

감사합니다. sir .............하지만 카테고리 테이블에서 최대 ID를 얻은 다음 하위 카테고리 테이블에 전달합니다. –

관련 문제