Konvertierungen von Querables bei LINQ To SQL

07/07/2008 - 15:29 von Rafael G. | Report spam
Hallo NG,

weiss irgendwie nicht weiter. Bekomme eine InvalidOperationException,
sobald ich die Suche auf bestimmte Spalten einschràken. Wenn ich alle
Spalten holen klappt alles ohne Problem.

Meine Methode:

public IEnumerable<Person> PersonenListe
{
get
{
// dieses klappt ohne Probleme
//var persListe = from p in this.m_DataContext.Personen
// select p;

var persListe = from p in this.m_DataContext.Personen
select new
{
p.Vorname,
p.Nachname
};
// bekomme hier einen Fehler bei dem Cast
return Queryable.Cast<Person>(persListe).ToList();

vg
Rafael
 

Lesen sie die antworten

#1 Elmar Boye
07/07/2008 - 16:48 | Warnen spam
Rafael G. schrieb:
Bekomme eine InvalidOperationException,
sobald ich die Suche auf bestimmte Spalten einschràken. Wenn ich alle
Spalten holen klappt alles ohne Problem.




Wozu willst Du einschrànken?

Meine Methode:

var persListe = from p in this.m_DataContext.Personen
select new
{
p.Vorname,
p.Nachname
};



Damit erstellt Du einen neuen (anonymen) Typ...

// bekomme hier einen Fehler bei dem Cast
return Queryable.Cast<Person>(persListe).ToList();



und der hat nichts mehr mit Person zu tun.

Willst Du ihn benannt und so weitergeben, so könntest
Du eine entsprechende Klasse erstellen:

class VorUndZuname
{
public string Vorname { get; set; }
public string Nachname { get; set; }
}

und oben schreiben
select new VorUndZuname
{ Vorname = p.Vorname, Nachname = p.Nachname };

Einige weitere Erlàuterungen findest Du unter:
<URL:http://weblogs.asp.net/scottgu/arch...s.aspx>

Gruß Elmar

Ähnliche fragen