Lokale Sequenz kann in LINQ to SQL-Implementierungen von Abfrageoperatoren mit Ausnahme des Contains-Operators nicht verwendet werden

8

Ich erhalte diesen Fehler auf einer Webseite in einer Microsoft Report Viewer-Komponente:

  

Während des Berichts ist ein Fehler aufgetreten   wird bearbeitet. Lokale Sequenz kann nicht sein   verwendet in LINQ to SQL-Implementierungen von   Abfrageoperatoren außer den Enthält   Betreiber.

Mein Code:

%Vor%

Diese Methode GetUrunListesiDoldur() gibt im Grunde eine List<StokEnvanteriSatiri> Liste von StokEnvanterSatiri zurück. Ich weiß, dass ich versuche, einer In-Memory-Liste mit einer SQL-Tabelle beizutreten.

Gibt es eine Möglichkeit, damit umzugehen?

    
Bastardo 09.05.2011, 11:34
quelle

3 Antworten

7

Ich habe im Grunde genommen die join umgekehrt und es hat funktioniert

%Vor%     
Bastardo 09.05.2011, 13:05
quelle
3

Sie müssen LINQ erzwingen, um den zweiten Join lokal auszuwerten. Sie können dies tun:

%Vor%     
Johann Blais 09.05.2011 11:50
quelle
2

Schreiben Sie Ihre urunMD -Abfrage neu, um sie in zwei Teilen auszuführen. Verwenden Sie den Operator Contains , um die initialen Datensätze in TBLP1URUNs zu filtern, und geben Sie dann nur die Datenbankdaten zurück. Verwenden Sie dann eine separate LINQ-to-Objects-Abfrage, um die Datenbankdaten von TBLP1URUNs mit den speicherinternen Daten in urunStok zu kombinieren.

    
Samuel Neff 09.05.2011 11:49
quelle

Tags und Links