LINQ: LINQ to Entities does not recognize the method 'System.String ToString()'.
-
Okay, ich begebe mich nun ebenfalls in die Abgründe von LINQ, was ich leider mit Visual Basic.NET tun muss. Ich habe bis heute nie damit gearbeitet, und stosse nun auf einige Probleme. Gegeben ist Folgende Abfrage auf ein ADO.NET Entity Data Model:
If (Aggregate Any In MyCRM Where Any.Nummer = Yield.ADR_Nr.ToString() Into Count()) > 0 Then Console.WriteLine(Adresse.ToString()) End If
Dabei erhalte ich dann folgende
System.NotSupportedException
:"LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression."
Wie soll ich denn die
Where
-Klausel implementieren, wennAny.Nummer
einSystem.String
ist undYield.ADR_Nr
einSystem.Int32
und ich nicht konvertieren darf? Ich denke, die Frage ist allgemein auf .NET und weniger auf Visual Basic.NET bezogen und stelle sie darum einfach mal hier rein.Besten Dank für alle Vorschlage
MfG
-
Helfen dir die zwei folgenden Links?
http://blog.dreamlabsolutions.com/post/2008/11/17/LINQ-Method-cannot-be-translated-into-a-store-expression.aspx
http://social.msdn.microsoft.com/Forums/en-AU/adodotnetentityframework/thread/19a33909-c532-419b-a533-57e431c0b30bGrüssli
-
Omg! Danke, ich darf also keine meiner schönen Methoden aufrufen?
Also, die Lösung ist wie folgt:
If (Aggregate Any In MyCRM Where Any.Nummer = CStr(Yield.ADR_Nr) Into Count()) > 0 Then Console.WriteLine(Adresse.ToString()) End If
Na, das kann ja noch heiter werden mit diesem LINQ. Ich hab denen gesagt, dass ich alles hardcore-mässig mit einem reinen SQL-Skript machen will, aber es muss ja VB.NET sein lol
Danke Dravere
-
Tipp:
Ich habe die Fehlermeldung 1:1 ins Suchfeld einer Suchmaschine gegeben und dabei kamen auf der ersten Seite diese zwei Links heraus
Ich habe keine Ahnung worum es gehtGrüssli
-
Hahaha. Das habe ich zuerst auch gemacht, aber ich wollte nicht wahrhaben, dass es tatsächlich so ist. Ich habe gemeint, dass ich irgend etwas übersehen habe.
In der Realität ist es aber so, dass ich in LINQ wirklich nur ein paar Funktionen gebrauchen kann, da das Zeugs serverseitig ausgewertet werden muss
Wofür habe ich dann dieses tolle Visual Basic.NET Programm? (Achtung: Rhetorische Frage)
MfG
-
VB.NET? Mit dieser Krankheit arbeitest du? Also echt
PS. Es ist einfacher wenn du die Statements auslagerst und anders formatiert darstellst.
Der Name der Methode sagt dann aus was du mit dem Statement erreichen wolltest, hast so verständlicheren Code