Ответ 1
Не нужно делать так много работ.
var query = from c in obj.tbCourses
where ...
select c;
Затем вы можете использовать:
List<course> list_course= query.ToList<course>();
Это отлично работает для меня.
Мне нужно преобразовать результат запроса linq в список. Я попробовал следующий код:
var qry = from a in obj.tbCourses
select a;
List<course> lst = new List<course>();
lst = qry.ToList();
Для приведенного выше кода произошла ошибка:
Cannot implicitly convert type
System.Collections.Generic.List<Datalogiclayer.tbcourse> to
System.Collections.Generic.List<course>
Не нужно делать так много работ.
var query = from c in obj.tbCourses
where ...
select c;
Затем вы можете использовать:
List<course> list_course= query.ToList<course>();
Это отлично работает для меня.
List<course> = (from c in obj.tbCourses
select
new course(c)).toList();
Вы можете преобразовать объект сущности в список непосредственно по вызову. Существуют методы преобразования его в разные структуры данных (список, массив, словарь, поиск или строку).
Вам нужно каким-то образом преобразовать каждый объект tbcourse
в экземпляр course
. Например, course
может иметь конструктор, который принимает tbcourse
. Затем вы можете написать запрос следующим образом:
var qry = from c in obj.tbCourses
select new course(c);
List<course> lst = qry.ToList();
Вам нужно использовать ключевое слово select new
LINQ, чтобы явно преобразовать ваш объект tbcourse
в пользовательский тип course
. Пример select new
:
var q = from o in db.Orders
where o.Products.ProductName.StartsWith("Asset") &&
o.PaymentApproved == true
select new { name = o.Contacts.FirstName + " " +
o.Contacts.LastName,
product = o.Products.ProductName,
version = o.Products.Version +
(o.Products.SubVersion * 0.1)
};
Что вы можете сделать, это выбрать все в новом экземпляре курса, а затем преобразовать их в список.
var qry = from a in obj.tbCourses
select new Course() {
Course.Property = a.Property
...
};
qry.toList<Course>();