동적 유형을 변환 할 수 없습니다. 그러나 내 쿼리에 select new
을 사용하려고하면 오류가 발생합니다. 암시 적으로 System.Collections.Generic.List<AnonymousType#1>
을 System.Collections.Generic.IList<ITEX.Models.Test>
으로 변환 할 수 없습니다.암시 내 모델에서 하나의 방법을 만들어 LINQ - 투 - SQL
실마리가 있습니까? 감사.
public class Test
{
public int Tnum { get; set; }
public int Level {get;set;}
}
을 그리고 쿼리가 같은 것을 보일 것입니다 : 당신이 경우
public IList<Test> GetData(int IDCus)
{
var list = (
from j in Context.Test
join y in this.Context.Test1
on j.ID equals y.ID
where
j.ID == IDCus
select new Test()
{
Tnum = j.Ynum,
Level = y.Level
}
);
return list.ToList();
}
을
오류 자체를 말하는 도움이되기를 바랍니다
을, 당신은 IList를 반환하는,하지만 select를 사용하여 새 작업을 수행하면 "테스트"가 아닌 익명 유형이 생성됩니다 –
Flowerking
감사합니다. 하지만 당신이 말할 수 있겠어요, 왜 당신이 말했죠, 나는 익명의 타입을 만들고 있는데 Test가 아닌가요? 왜냐하면, j.Ynum은 "Test"테이블에서 가져온 필드이고 y.Level은 Test1 테이블에서 가져 오는 필드입니다. – Nothing
"select"를 위와 같이 사용하면 컴파일러에서 익명으로 만든 새로운 "Type"에 결과를 투영합니다 (C# 3.0의 기능). 반환 할 타입에 유형을 지정하려면 새 Test() {Tnum = j.Ynum, Level = y.Level}을 선택해야합니다. 이렇게하면 새 익명을 작성하는 대신 Test 객체가 반환됩니다. 유형. – Flowerking