Sep 18
Der Lambda-Ausdruck kann nicht in “String” konvertiert werden…
Manchmal gibt es wirklich tolle irreführende Fehlermeldungen
Using entities As New Entities_MyModel() Dim userQuery = entities.Users.Where(Function(f) f.ID = 1) Dim myUser = userQuery.First()
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:
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()
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.



27. July 2010, 10:28
super, danke, war echt ne Hilfe. was zum Geier sollte diese Meldung habe ich mich gefrag.