In einer Antwort auf meine andere Frage wurde mir gesagt, QueryExtensions
zu verwenden. asynchrone Berechnungen mit F # und Entity Framework zu erreichen, und ich verwende diesen Rat erfolgreich.
Zum Beispiel habe ich die folgende Funktion:
%Vor%das kann so verwendet werden:
%Vor%Es wäre jedoch schön, meine neue Funktion als Abfrageausdruck zu verwenden. Ich habe das geschrieben:
%Vor%Und versuche es so zu benutzen:
%Vor%Dieser Code wird zwar kompiliert, löst jedoch zur Laufzeit die folgende Ausnahme aus:
System.NotSupportedException: Dies ist kein gültiger Abfrageausdruck. Die Methode 'Microsoft.FSharp.Control.FSharpAsync'1 [Entities.MyEntity] HeadAsync [MyEntity, IQueryable' 1] (Microsoft.FSharp.Linq.QuerySource'2 [Entities.MyEntity, System.Linq.IQueryable'1 [Entities. MyEntity]]) 'wurde in einer Abfrage verwendet, wird jedoch vom F # -Zu-LINQ-Abfrage-Übersetzer nicht erkannt. Überprüfen Sie die Spezifikation zulässiger Abfragen, und ziehen Sie in Betracht, einige der Operationen aus dem Abfrageausdruck zu entfernen
Ist also die Erweiterung des Standard-LINQ-Übersetzers möglich, oder sollte ich bei meiner bisherigen headAsync
-Implementierung in Form einer gewöhnlichen Funktion bleiben, ohne mit QueryBuilder
zu verkehren?
Tags und Links entity-framework linq f#