Der Lambda-Ausdruck kann nicht in „String“ konvertiert werden…
Manchmal gibt es wirklich tolle irreführende Fehlermeldungen 😉
[sourcecode language=’vb‘]
Using entities As New Entities_MyModel()
Dim userQuery = entities.Users.Where(Function(f) f.ID = 1)
Dim myUser = userQuery.First()
[/sourcecode]
Führt zu: Der Lambda-Ausdruck kann nicht in „String“ konvertiert werden, da „String“ kein Delegattyp ist. bzw. Lambda expression cannot be converted to ‚String‘ because ‚String‘ is not a delegate type.
Die gleiche Abfrage in etwas anderer Schreibweise ergibt eine sinnvollere Fehlermeldung:
[sourcecode language=’vb‘]
Using entities As New Entities_MyModel()
Dim userQuery = From user In entities.Users _
Where user.ID = 1 _
Select user
If userQuery.Count > 0 Then Dim myUser = userQuery.First()
[/sourcecode]
Führt zu: Ein Ausdruck vom Typ „System.Data.Objects.ObjectQuery(Of Data.Interface.MyModel.Users)“ kann nicht abgefragt werden. Stellen Sie sicher, dass kein Assemblyverweis und/oder Namespaceimport für den LINQ-Anbieter fehlt.
Warum nicht gleich so 😉 Es fehlt in dem Beispiel einfach nur der Verweis auf System.Core im Projekt, sowie Imports System.Linq zu Beginn der Klasse.


