Tengo 2 tablas (Documento y documentclass) que tienen las siguientes columnas:LINQ y cómo devolver una lista de un tipo específico
documentclass: DocClassID, nombre, ParentID
documento: DocID, nombre, DocClassID
La tabla DocumentClass
contiene registros principales y secundarios, y la relación entre un elemento primario y un elemento secundario es la columna ParentID. Un registro Document
está vinculado con un registro secundario en el DocumentClass
mediante la clave foránea DocClassID.
registros primarios en DocumentClass
tener ParentID = 0 y registros secundarios en la DocumentClass
han ParentID! = 0
Quiero recuperar un nombre del niño y el nombre de los padres de ese niño de la mesa DocumentClass
.
He logrado crear una función que hace eso por mí. Envío una lista de ID de documento, encuentre los registros DocumentClass
(los registros secundarios) a los que está vinculado el documento y luego encuentre el padre en esos registros secundarios. Luego coloco esa información que quiero en una clase Child.
public List<Child> GetDocClassInfo(List<int> docIds)
{
var result = from dc in _context.DocClasses
from d in _context.Documents
where dc.DocClassID == d.DocClassID
where dc.DocClassID != 0
where docIds.Contains(d.DocID)
select new
{
children = from p in _context.DocClasses
where dc.ParentID == p.DocClassID
select new Child
{
ChildId = dc.DocClassID,
ChildDocClassName = dc.DocClassName,
ParentId = p.DocClassID,
ParentDocClassName = p.DocClassName
}
};
return result.ToList();
}
Mi problema es que quiero tener una lista para volver a la función, pero el compilador no le gusta en absoluto. Me sale un error al decir que
No se puede convertir implícitamente el tipo
System.Collections.Generic.List``<AnonymousType#1>
enSystem.Collection.Generic.List<Child>
.
¿Cómo puedo escribir esa consulta LINQ para devolver una lista?
Saludos,
OKB
shouldnt esto quizás se etiquetará como ....... bien lo haré – mpen