0

사용자 정의 할 수있는 방법이 있습니까?엔티티 선택 linq에 사용자 정의 문자열

이 임하려고 노력 무엇 :

string customSelect = "c.person_name"; 
int per = PersonID(); 
var RetrievItem = (from c in db.person where c.person_id == per select new { customSelect }).FirstOrDefault(); 

내가 그것을 디버깅을 시도했지만 그냥 데이터베이스

어떤 제안이에서 주어진 문자열 대신 값을 검색 결국 @ _ @?

+0

왜 '새 {c.person_name}'을 (를) 선택하지 않으시겠습니까? – Mostafiz

+1

[Expression class] (https://msdn.microsoft.com/en-us/library/system.linq.expressions.expression (v = vs.110) .aspx) –

+0

@Mostafiz에서 문자열이 오게됩니다. 동적으로 매번 달라질 수 있습니다 @@@ – Harugawa

답변

3

표현 기반 솔루션에 대한 햄릿의 덧글 외에도 Dynamic Linq 라이브러리를 살펴볼 수 있습니다. 그것은 문자열로 정의 된 lamba 표현식을 지원하는데, 이것은 여러분이 필요로하는 것입니다.

+0

런타임에서 동적 LINQ가 동적 클래스를 작성하여 해결하는 런타임에 익명 형식을 만들 수 없기 때문에 이것이 지금까지 유일하게 가능한 동적 선택 솔루션이라고 말하고 싶습니다. +1 –

+0

@IvanStoev, 아니요 런타임에 동적 유형을 만들 수 없습니다. –

+0

@ AdilMammadov 가능한 일이지만 어렵습니다. 그리고 ** 익명 ** 타입은 컴파일러 기능이 아닙니다. –