필드 이름 목록을 가져 와서 해당 열만 동적 컬렉션으로 반환하도록 IQueryable을 확장하려고합니다. 본질적으로 필자는 필드/열 이름으로 전달 된 "선택"을 구현하려고합니다. 내가 좋아하는 대상에 대해 질의하고 경우에 따라서.NET에서 필드 이름이있는 IQueryable Select 절을 동적으로 빌드하십시오.
private IQueryable<TEnity> SetSelect(IQueryable<TEntity> query, List<string> fieldnames)
{
//Build up the Expression here
query = query.Select(expressionHere);
return query;
}
: : 방법은 다음과 같이 보일 것이다
public Class Dog
{
int Id{get;set;}
string Name{get;set;}
string Color{get;set;}
DateTime Birthdate{get;set;}
}
하지만 단지 이름을 얻고 싶었다과 생년월일 나는 SetSelect(query, new List<string>{"Name", "Birthdate"});
를 호출하여 된 IQueryable을 확장 할 수
그리고는 반환되는 :
[{"Fido", 01-01-2017}, {"Spot", 05-04-1972}]
가 있음 아무도 비슷한 것을 한 적이 없으며 그 Expression을 구축하는 데 도움이 될 수 있습니까?
설명해 주셔서 감사합니다.
참고 :이 당신은 기업의 선택에 전화 DynamicSelectGenerator
에 의해 선택 동적 생성 할 수 닷넷 핵심 응용 프로그램
이 보이는 이미 http://stackoverflow.com/questions/606104/how-to-create-linq [여기] (답변하기 -expression-tree-to-an-anonymous-type) – danatcofo
키 포인트 하나를 추가하는 것을 잊어 버렸습니다. 이것은 .Net 핵심 애플 리케이션입니다. 위에서 언급 한 대답은 내가 알고있는 일부 수업을 사용하지 않습니다. – KickinMhl
동일한 질문에 대한 마지막 답변 [바로 가기] (http://stackoverflow.com/a/28140345/740108)은 작업 솔루션으로가는 쉬운 경로 일 수 있습니다. – danatcofo