다음과 같은 익명 형식을 반환하는 LINQ 요청이 있습니다.
var result = context.Table1.Select(
x => new
{
col1 = x.col1,
col2 = x.col2
}).ToList();
결과를 다른 기능에 넘겨주기 전까지는 잘 작동합니다.
정확히 지정해야하는 것보다 목록의 유형이 무엇인지. var
더 이상 사용할 수 없습니다 .
하지만 내가 사용하면
List< (string col1, string col2)> result ...
나는 얻을 "암시 적으로 변환 할 수 없습니다 유형 ..." 오류입니다.
예, 각 엔터티에 대해 새 클래스를 만들 수 있습니다. 그러나 이것이 그것을 처리하는 유일한 방법입니까?
당신이 사용하려는 경우 튜플 타입 (의 무엇을 당신의 것으로 (string col1, string col2)
대신하다) 익명 형식 (즉 무엇 당신의 new { col1=x.col1...}
IS), 다른 구문이 필요합니다 :
List<(string col1, string col2)> list = context.Table1
.Select( // linq to entities
x => new
{
col1 = x.col1,
col2 = x.col2
})
.ToArray() // go on with linq to objects for use of tuple types
.Select(x => (col1: x.col1, col2: x.col2))
.ToList();
ValueTuples는 식 트리에서 지원되지 않으므로 쿼리에서 익명 형식과 튜플 형식의 조합을 사용해야 할 수 있습니다.
참조 튜플 유형 , 익명 튜플 유형 중에서 선택
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다