Linq Rückgabetyp (of Object)

31/12/2009 - 00:34 von Thomas Ehlert | Report spam
Hi beisammen,

ich stricke an einem Businesslayer, der mir per Linq einiges an Tabellen,
bzw. Klassen hin - und herschiebt.
Bislang habe ich nur komplette Tabellen oder einzelne Datensàtze
verarbeitet, was wunderbar klappt.

Jetzt habe ich eine Abfrage in der Art:

Public Function GetAdressList() As System.Linq.IQueryable(Of Object)
Dim c As New DataObjects.Activities
Dim lst As System.Linq.IQueryable(Of Object)
lst = From p In c.Adresses _
Select p, Fullname = String.Concat(p.Lastname, ", ", p.Firstname) _
Order By p.Nachname, p.Vorname
Return lst
End Function

und nun klappt mein Rückgabetyp nicht.

Was genau kommt denn bei solch einer Abfrage raus, wenn ich ein
"berechnetes" Feld anhànge?
Ich würde zu gerne "Option strict" wieder einschalten. :-)

TIA
Thomas
 

Lesen sie die antworten

#1 Markus Springweiler
04/01/2010 - 09:56 | Warnen spam
Hallo Thomas,

Public Function GetAdressList() As System.Linq.IQueryable(Of Object)
Dim c As New DataObjects.Activities
Dim lst As System.Linq.IQueryable(Of Object)
lst = From p In c.Adresses _
Select p, Fullname = String.Concat(p.Lastname, ", ", p.Firstname) _
Order By p.Nachname, p.Vorname
Return lst
End Function

und nun klappt mein Rückgabetyp nicht.

Was genau kommt denn bei solch einer Abfrage raus, wenn ich ein
"berechnetes" Feld anhànge?



Auch wenn ich mich mit VB und dessen Syntax nicht auskenne, wird LINQ dort
wohl gleich funktionieren. In C# würdest du eher sehen, daß ein anonymer
Typ verwendet wird:
select new {p, Fullname = ...}

Das heisst, dein Rückgabetyp ist eine anonyme "unbenannte" Klasse mit zwei
Properties: 1. "p" vom Typ Ad(d)ress und 2. "Fullname" vom Typ String.

/\/\arkus.

Ähnliche fragen