Wie muss ich meine Abfrage erstellen, um eine Ausgabe-SQL-Abfrage wie folgt zu erhalten:
%Vor%ODER
%Vor%ODER
%Vor%Ich benutze .Net Framework 4.0, Entity Framework v4.1 und C #.
EF v4.1 konvertiert diesen Typ von linq-Abfragen von:
%Vor%In:
%Vor%Das will ich nicht. Ich möchte in der Lage sein, das "Prozent" -Symbol zu verwenden, wie ich direkt in DB tun.
Sie müssen ESQL verwenden, wenn Sie vollständige Wildcard-Unterstützung wünschen. Linq-to-Entities ist nicht in der Lage, dies zu tun, und EFv4.1-Code zuerst (ohne EDMX) unterstützt keine modelldefinierten Funktionen , sodass die von @Johann Blais zur Verfügung gestellte Lösung nicht verwendet werden kann.
Ich denke, der Code zum Ausführen der ESQL-Abfrage kann folgendermaßen aussehen:
%Vor% Wenn Sie SQL Server verwenden, verwenden Sie die Funktion PATINDEX
, um ein Muster zu erstellen Suche. Sie können auf diese Funktion über EF zugreifen, indem Sie SqlFunctions
verwenden Klasse.
Zum Beispiel die folgende EF-Abfrage
%Vor%wird in
übersetzt %Vor%Tags und Links c# .net-4.0 entity-framework-4.1