5 Stimmen

NotSupportedException mit Linq-Abfrage und GroupBy

Ich erhalte eine "NotSupportedException", wenn ich diese Linq-Abfrage ausführe. "Angegebene Methode wird nicht unterstützt." Welche Methode? Selbst wenn "Count()" auskommentiert ist, bleibt der Fehler der gleiche. Null Inner Exception.

Stack Trace:

bei Hydra.WPF.ViewModels.AddressListViewModel._primaryMemberListWorker_DoWork(Object sender, DoWorkEventArgs e) in M:\Projects\Hydra\WPF\ViewModels\AddressList\AddressListViewModel.cs:Zeile 1377 bei System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Die SQL-Abfrage:

Wählen Sie * aus _Mitglieder
Inner Join AddressDetailsCCN a on a.MemberId=_Members.MemberID
Inner Join 
  (
  Wählen Sie Address+Address2 as CombinedAddress 
  aus AddressDetailsCCN Wo ListId=84 
  Gruppe nach Address+Address2
  HAVING COUNT(*)>1
  ) B on B.CombinedAddress=A.Address+A.Address2
Wo CombinedAddress nicht null ist UND CombinedAddress!='' UND a.ListId=84
Sortieren nach ClientID, CombinedAddress

Linq:

var grouped = 
   (von mem in Sitzung.Query()
    join detail in Sitzung.Query() on mem.Id equals detail.Member.Id
    join d2 in (von d3 in Sitzung.Query()
                where d3.AddressList.Id == criteria.AddressList.Id
                Gruppierung d3 nach d3.Address + d3.Address2 in x
                wo x.Count() > 1
                wählen x) on detail.Address+detail.Address2 equals d2.Key
    wo detail.AddressList.Id==criteria.AddressList.Id
    auswählen mem);

7 Stimmen

Die Linq-Implementierung von Hibernate hat Probleme mit grundlegenden Operatoren. Ich frage mich, wann wir endlich eine anständige Implementierung bekommen werden...

0 Stimmen

1377 ist nur der Aufruf der Repository-Methode, die diese Methode beherbergt.

0 Stimmen

Du könntest es folgendermaßen schreiben stackoverflow.com/questions/9054296/…

0voto

Gaute Løken Punkte 7183

Wie erstellen Sie Ihre Kriterienvariable? Wenn dies selbst eine verzögerte Abfrage oder etwas anderes ist, klingt es wie der wahrscheinliche Übeltäter. Was passiert, wenn Sie ein var criteriaId = criteria.AddressList.Id; vor Ihrer Abfrage durchführen und criteriaId an Ihre Abfrage übergeben anstelle von criteria.AddressList.Id?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X