Я создал один метод в моей модели:Не может неявно преобразовать тип динамического LINQ к SQL
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 {
Tnum = j.Ynum,
Level = y.Level
};
return list.ToList();
}
Когда я только с помощью select
без new
, он работает нормально. Но когда я попытался использовать select new
в моем запросе, это ошибка: Невозможно неявно преобразовать тип System.Collections.Generic.List<AnonymousType#1>
в System.Collections.Generic.IList<ITEX.Models.Test>
.
Любые подсказки? Благодарю.
Ошибка говорит сама, вы возвращаете IList, но когда вы делаете новые с помощью select, вы создаете анонимный тип, который не является «Test» –
Flowerking
Thank. но не могли бы вы рассказать мне, почему вы сказали, я создаю анонимный тип, а не тест? Поскольку j.Ynum - это поле, которое я беру из таблицы «Тест» и y.Level, беру из таблицы Test1. – Nothing
Когда вы используете «select», как указано выше, вы проецируете свой результат на новый «Тип», который был анонимно создан компилятором (функция C# 3.0). Чтобы указать тип, к которому вы хотите вернуться, вам нужно использовать - выберите новый Test() {Tnum = j.Ynum, Level = y.Level}, это гарантирует, что вы возвращаете объект Test вместо создания нового анонимного тип. – Flowerking