Ich versuche eine TVF mit Entity Framework auszuführen und aus irgendeinem Grund funktioniert es einfach nicht. Vielleicht kann jemand da draußen mir helfen, das Problem zu sehen.
Hier sind die Codebeispiele:
Das ist die Funktion:
%Vor%Ich habe dies in meiner DbContext-Datei (genannt EAjudaContext)
%Vor%So rufe ich die Funktion über LINQ an
%Vor%Und ich bekomme diesen Fehler:
%Vor%Irgendwelche Ideen, was ich vermisse? Ich habe so ziemlich jeden Tipp ausprobiert, den ich bei Google gefunden habe, aber keiner hat mein Problem gelöst.
Wenn Sie ein Stück Code sehen müssen, das hier nicht enthalten ist, fragen Sie einfach und ich werde es hinzufügen.
Hier ist ein sehr guter Artikel über die neueren Features von Entity Framework, die direkte Unterstützung für Table-Valued-UDFs bieten. MSDN-Blog zur Unterstützung von Tabellenwerten in Entity Framework.
Für eine größere Tiefe bietet dieser Artikel wichtige Details. Erodier- und Speicherfunktionen in LINQ.
Einer der großen Vorteile der jüngsten Unterstützung für Table-Valued-UDFs ist die Unterstützung von Volltextsuchfunktionen. Lesen Sie mehr dazu hier: Volltext-Suchfunktionen für Datenbankobjekte.
[Getestet] mit:
%Vor%Deklarieren Sie eine Klasse für das Ausgabeergebnis:
%Vor%Erstellen Sie eine Methode in Ihrer DbContext-Klasse
%Vor%Hinzufügen
%Vor%zu Ihrer DbContext-Klasse
Fügen Sie die Methode overriden OnModelCreating
hinzu:
Und jetzt können Sie anrufen / mitmachen Ein Tabellenwert funktioniert wie folgt:
%Vor%Tags und Links c# entity-framework linq user-defined-functions ef-code-first