Können wir Konvertieren Anonymen Typ List <T> mithilfe von Linq to entity in C#?
Ich habe eine Tabelle mit drei Spalten möchte ich selbst mitmachen und abrufen der Spalten mit Aliasnamen.
Tabelle:Material(ID,Name,MaterialParentID)
public List<Material> GetMaterialList()
{
List<Material> materilaList = new List<Material>();
var query = (from c1 in db.Materials
join c2 in db.Materials on c1.ID equals c2.MaterialParentID
select c2);
return query.ToList();
}
Möchte ich hinzufügen, dass folgende vorhandene Abfrage und zurückgeben der Liste
select new { c2.ID, c2.MaterialParentID, c2.Name, ParentName = c1.Name })
- zurück
query.Select(c2=> new { c2.ID, c2.MaterialParentID, c2.Name, ParentName = c1.Name }).ToList()
- Das würde nicht funktionieren.
List<anonymous type>
ist nicht das gleiche wieList<Material>
. - Hallo @wudzik Abfrage enthält nur c2 Felder und so immer Fehler bei ParentName=c1.Name keine Ahnung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach die tatsächlichen konkreten Typ anstelle eines anonymen eins:
ToList()
)Material
Klasse. Sie vielleicht möchten Sie den Konstruktor aufrufen direkt. Ich habe nicht den source-code für Ihre Klasse..Material
Klasse, das man auf der Rückkehr von derGetMaterialList()
Methode, die eine Eigenschaft enthältParentName
? Möchten Sie vielleicht deklarieren Sie eine neue Klasse, die halten wird alle Daten, die Sie zurückgeben möchten.