Hallo,
ich möchte in Sliverlight meine Linq-Abfrageergebnisse an ein DataGrid binden. Leider komme ich nicht mit der Art des Rückgabetyps zurecht.
Wenn ich meine Abrage ganz "normal" ausführe...
var query = from a in db.Auftrag
where a.Box_ID == nBoxId
&& a.Disposition_ID == 3181
select a;
... und dann als Rückgabewert List<Auftrag> habe (mache also "return query"), funktioniert es einwandfrei.
Sieht meine Abfrage allerdings so aus
var query = from a in db.Auftrag
where a.Box_ID == nBoxId
&& a.Disposition_ID == 3181
select new
{
a.ID,
a.Kunden_ID
};
geht das ganze nicht mehr. Er hat dann ein Problem mit den Datentypen.
Mein Lösungsansatz sieht folgendermaßen aus:
var query = from a in db.Auftrag
where a.Box_ID == nBoxId
&& a.Disposition_ID == 3181
select a;
List<Auftrag> lstAuftrag = new List<Auftrag>();
foreach (Auftrag auftrag in query)
{
Auftrag aa = new Auftrag ();
aa.Kunden_ID = auftrag.Kunden_ID ;
aa.ID = auftrag.ID ;
lstAuftrag.Add(aa);
}
return lstAuftrag;
Dann bekomme ich zwar richtigerweise die Ergebnisse zurück die ich haben möchte, aber im Grid werden alle Zellen angezeigt (Auto Generate Colums ist an).
Meine Frage: Wie kann ich die Abfrage so zurückgeben, so dass ich sie direkt an das Grid binden kann (Rückgabetyp?)
hallo,
var query = (from a in db.Auftrag
where a.Box_ID == nBoxId
&& a.Disposition_ID == 3181
select new
{
a.ID,
a.Kunden_ID
}).ToList();
klappt das?
MFG Veasel