2011-01-11 4 views
0

EF뿐만 아니라 LINQ도 사용하기 시작합니다.EF 4.0 LINQ 1 대 다수/1 대 1

PublicUtility (UtilityCode) * ----> 1 (UtilityCode) 유틸리티 (UtilityCode) 1 -----> * (UtilityCode) UtilityDetail

:

I는 다음과 같은 구성의 테이블 세트를

SQL에서 쿼리가 있습니다. 다른 비즈니스 규칙에 따라이 쿼리는 1 값이나 NULL을 반환합니다.


@UtilityCode = ON UtilityDetail.UtilityCode
UtilityDetail
INNER JOIN PublicUtility FROM

PublicUtility.SubdivisionCode = @SubdivisionCode AND
PublicUtility.Year = @PublicUtilityYear AND
PublicUtility.UtilityCode = UtilityDetail SELECT . 유틸리티 코드
WHERE
UtilityDetail.DebtPurposeCode = @DebtPurposeCode

어떻게 엔티티에 LINQ를 사용하여 이것을 다시 쓸 수 있습니까?

답변

0
using (YourObjectContext ctx = new YourObjectContext()) 
{ 
    var code = (from ud in ctx.UtilityDetails 
       join pu in PublicUtility on ud.UtilityCode equals pu.UtilityCode 
       where ud.DeptPurposeCode == [code_value] && pu.SubdivisionCode == [subdivcode_value] && pu.Year == [year_value] 
       select new {ud.UtilityCode}).FirstOrDefault(); 
} 
+0

감사합니다. 그게 내 미친 짓이야. PublicUtility.Utility.UtilityDetails에서 UtilityDetails를 참조하려고했지만 어디에도 가지 않았습니다. T-SQL에서 생각하지 못하는 문제가 있습니다 ... –

관련 문제