2011-01-07 5 views
1

Ich habe einen domaindatasource mit einem Filter-Descriptor. Dies ist für ein Textfeld, das zum Durchsuchen der Daten verwendet wird. Es filtert nur die Namen heraus, die mit dem Text beginnen. Ich bekomme einen Fehler, wenn Text in das Suchfeld eingegeben wird. Ein Teil der Fehlermeldung lautet wie folgt:RIA Services Fehler

'Die Methode' Skip 'wird nur für sortierte Eingabe in LINQ to Entities unterstützt. Die Methode ‚OrderBy‘ muss vor dem Verfahren ‚Weiter‘‘

Ich bin nicht in der Lage, einen Drilldown in sie und suchen nur die ursprüngliche Abfrage der Linq-Anweisung durch die Filter verwendet aufgerufen werden. Kann mir jemand sagen, wo diese Linq-Anweisung ist oder wie ich sie finden könnte?

UPDATE

Dies ist die vollständige Fehlermeldung:

Webseite Fehlerdetails User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0;. NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; InfoPath.2; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) Zeitstempel: Do 6 Januar 2011 20.45.30 UTC Nachricht: Unbehandelte Fehler in Silverlight Anwendungscode: 4004 Kategorie: ManagedRuntimeError Nachricht: System.Windows.Ria.DomainException: Ein Fehler beim Laden von Daten durch die Abfrage ‚GetEmployeesView‘ auf Domaincontext vom Typ ‚AllocationContext‘ und der Fehler nicht behandelt wurde. Wenn dieser Fehler erwartet wird, müssen Sie das LoadedData-Ereignis auf der DomainDataSource behandeln und LoadedDataEventArgs.MarkErrorAsHandled() aufrufen, um diese Ausnahme zu vermeiden. Load Vorgang fehlgeschlagen für Abfrage 'GetEmployeesView'. Die Methode ‚überspringt‘ ist nur für die sortierten Eingang in LINQ to Entities unterstützt. Die Methode 'OrderBy' muss vor der Methode 'Skip' aufgerufen werden. ---> System.Windows.Ria.DomainOperationException: Ladevorgang fehlgeschlagen für die Suche nach 'GetEmployeesView'. Die Methode ‚überspringt‘ ist nur für die sortierten Eingang in LINQ to Entities unterstützt. Die Methode 'OrderBy' muss vor der Methode 'Skip' aufgerufen werden. --- Ende der Ausnahme Stapelüberwachung --- bei System.Windows.Ria.OperationBase.InvokeCompleteAction() bei System.Windows.Ria.OperationBase.Complete (Exception Fehler) bei System.Windows.Ria .LoadOperation.Complete (Ausnahme Fehler) um System.Windows.Ria.DomainContext.CompleteLoad (IAsyncResult asyncResult) um System.Windows.Ria.DomainContext. <> c_ DisplayClass17.b _13 (Object ) Zeile: 56 Char: 13 Code: 0

Die 'GetEmployeesView' ist der RIA domian Dienstanfrage, die eine Liste der Mitarbeiter von einem 'EmployeesView' Entität zurückgibt (aus einer SQL Ansicht gebaut).

Antwort

0

Ihre RIA-Methoden müssen eine Sammlung zurückgeben, die IQueryable implementiert. DomainDataSource formt seine Lade-, Sortier- und Filter-Abfragen hinter den Kulissen mit LINQ Take(), Skip() und so weiter. Der einfachste Weg, diese Abfragen zu sehen, wenn Sie interessiert sind, besteht darin, Fiddler anzuwerfen und die Anfrage zu betrachten, während sie über den Draht geht.

Verwandte Themen