verwendetes Datenbanksystem: <MSSQL2008>
Hallo zusammen,
ist es möglich eine Methode zu schreiben die eine List<AnonymousType> zurückgibt?
In etwa sowas:
public List<???> getData()
{
var result = from a in _context.artikel
join agr in _context.artikelgruppe on a.artikelgruppe equals agr.ARTIKELGRUPPE
select new { Artikel = a.ARTIKEL, Name = a.NAME, NameAGR = agr.NAME, AGR = agr.artikelgruppe };
return result.ToList();
}
Danke für eure Hilfe
CyberHunter
Nein. Jedenfalls nicht so, wie du dir das denkst. Anonyme Typen haben nun mal die Eigenschaft, dass die keinen "Namen" haben. Somit kannst du ihn auch nicht als generischen Typparameter in der Methodensignatur verwenden.
Was du aber machen kannst, ist eine List<object>
zurückzugeben. Allerdings stellt sich noch die Frage, was der Aufrufer deiner Methode mit dem Ergebnis macht.
Danke für deine Antowrt.
Ich kann das ganze als object zurückgeben, das funktioniert.
Aber wie Caste ich das in eine List<object> ??
public List<object> getData()
{
var result = (from a in _context.artikel
join agr in _context.artikelgruppe on a.artikelgruppe equals agr.ARTIKELGRUPPE
select new { Artikel = a.ARTIKEL, Name = a.NAME, NameAGR = agr.NAME, AGR = agr.artikelgruppe }).ToList<object>;
return result;
}
so klappt es, danke.
Hallo,
puh, warum machst Du sowas?
anonyme Typen sollten eigentlich niemals die Methode verlassen, in der sie entstehen.
Ausserhalb dieser Methode, kannst Du eigentlich nur noch mit Reflection auf dessen Eigenschaften zugreifen.. was sagen wir einmal nicht gerade Performant ist.
Du solltest dir vllt überlegen ob das tatsächlich nötig ist..
Grüße