2011-03-04 3 views
0

데이터베이스 작업 엔티티 프레임 워크에 대해 .net framework 3.5 framework &을 사용하고 있습니다. 그래서 LINQ 쿼리를 사용하여 데이터를 가져 오려면 &은 결과 집합을 목록에 반환합니다. 예 :동적 인 keywork를 사용하여 엔티티 프레임 워크와 작업하는 방법

public class Emp 
{ 
public int CD{get;set;} 
public string Name{get;set;} 
} 


public List<Emp> GetServTypeForPromotionDue() 
{ 
     return (from a in Context.TableName 
        select new Emp{ a.CD, a.NAME }); 

} 

3.5에서 4.0으로 마이그레이션 할 계획입니다. .net 4.0에서 동적 키워드에 대해 들어 봤습니다. 익명 메소드를 작성하지 않고 클래스 Emp &을 제거하기 위해 '동적'키워드를 사용할 수 있습니까?

답변

5

당신 수 이것에 대한 사용 dynamic (예를 들어 List<dynamic>를 반환하고, select 절에 ExpandoObject를 구축),하지만 난 그것을 추천하지 않을 것입니다. 약간의 이익을 위해 컴파일 타임 타입 안전, Intellisense 등을 잃을 것입니다. 으로 얻으려면 dynamic을 사용한다고 생각하십니까? 몇 줄의 코드 만 제거하면 되나요?

편집 : 동적 사용의 예 :

public List<dynamic> GetServTypeForPromotionDue() 
{ 
     return (from a in Context.TableName 
       select (dynamic) (new { a.CD, a.NAME })).ToList(); 
} 

또는 ...이

public List<dynamic> GetServTypeForPromotionDue() 
{ 
     return (from a in Context.TableName 
       select (dynamic) (new ExpandoObject { a.CD, a.NAME })).ToList(); 
} 
+0

은 유 동적 키워드 고맙습니다 – Tuscan

+0

를 사용하여 기능 이상 GetServTypeForPromotionDue()를 변환 할 수 @Ulhas : 좋아, 내가 준 두 가지 옵션이 있지만 여전히 권장하지는 않습니다. –

+0

나는 Tuple 클래스에 대해 들었다 .net 4.0. 그 클래스를 사용할 수있는 것은 타입 안전합니다. – Tuscan

관련 문제