seleccionar - ¿Cómo convertir el resultado de la consulta LINQ a la lista?
select linq c# list (5)
Es necesario convertir de alguna manera cada objeto tbcourse
a una instancia, por course
. Por ejemplo, por course
podría tener un constructor que tome un tbcourse
. A continuación, podría escribir la consulta de esta manera:
var qry = from c in obj.tbCourses
select new course(c);
List<course> lst = qry.ToList();
Necesito convertir el resultado de la consulta de linq a la lista. Probé el siguiente código:
var qry = from a in obj.tbCourses
select a;
List<course> lst = new List<course>();
lst = qry.ToList();
Se produjo el siguiente error para el código anterior:
Cannot implicitly convert type
System.Collections.Generic.List<Datalogiclayer.tbcourse> to
System.Collections.Generic.List<course>
Lo que puede hacer es seleccionar todo en una nueva instancia de Curso y luego convertirlos en una Lista.
var qry = from a in obj.tbCourses
select new Course() {
Course.Property = a.Property
...
};
qry.toList<Course>();
No hay necesidad de hacer tanto trabajo ..
var query = from c in obj.tbCourses
where ...
select c;
Entonces puedes usar:
List<course> list_course= query.ToList<course>();
Funciona bien para mí.
tbcourse
usar la select new
palabra clave LINQ select new
para convertir explícitamente su entidad tbcourse
en el course
tipo personalizado. Ejemplo de 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)
};
List<course> = (from c in obj.tbCourses
select
new course(c)).toList();
Puede convertir el objeto de entidad a una lista directamente en la llamada. Existen métodos para convertirlo a diferentes estructuras de datos (lista, matriz, diccionario, búsqueda o cadena)