Ich habe 2 Tabellen (Dokument und Document), die die folgenden Spalten:LINQ und wie eine Liste eines bestimmten Typs zurück
Document: DocClassID, Name ParentID
Dokument: DocID, Namens-, DocClassID
Die Tabelle DocumentClass
enthält übergeordnete und untergeordnete Datensätze und die Beziehung zwischen einem übergeordneten Element und einem untergeordneten Element ist die ParentID-Spalte. Ein Document
Datensatz ist mit einem untergeordneten Datensatz in der DocumentClass
durch den Fremdschlüssel DocClassID verknüpft.
Eltern Aufzeichnungen in DocumentClass
haben ParentID = 0 und Kinder Datensätze in der DocumentClass
ParentID haben! = 0
ich ein Kinder Namen abrufen möchten, und dass Eltern des Kindes Namen aus der DocumentClass
Tabelle.
Ich habe es geschafft, eine Funktion zu erstellen, die das für mich erledigt. Ich sende eine Liste von Dokument-IDs ein, finde die DocumentClass
Datensätze (die untergeordneten Datensätze), mit denen das Dokument verknüpft ist, und finde dann die übergeordneten Elemente zu diesen untergeordneten Datensätzen. Dann lege ich diese Information in eine Kinderklasse.
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();
}
Mein Problem ist, dass ich eine Liste zurückzukehren, von der Funktion haben will, aber der Compiler dies nicht bei allen. Ich bekomme eine Fehlermeldung, die besagt, dass
System.Collections.Generic.List``<AnonymousType#1>
System.Collection.Generic.List<Child>
nicht implizit konvertieren kann.
Wie kann ich diese LINQ-Abfrage schreiben, um eine Liste zurückzugeben?
Mit freundlichen Grüßen,
OKB
shouldnt sagen, dass dies vielleicht als markiert werden ....... gut ich werde es tun – mpen