8

Dank https://codefirstfunctions.codeplex.com/ ist es jetzt möglich, Funktionen in Entity Framework (Code-First) abzubilden. Ich versuche, CONTAINSTABLE function abzubilden. Wie kann das table Argument übergeben werden?Wie die CONTAINSTABLE-Funktion in Entity Framework (Code-First) zugeordnet wird?

Es könnte gut sein, Generika zu verwenden, die für:

db.ContainsTable<MyEntity>(myTerm) 

könnte übersetzen in:

SELECT * FROM CONTAINSTABLE(MyEntities, *, @myTerm) 

Soll ich dafür verwenden irgendwie CreateQuery?

(Es gibt einige ältere versucht.. [1] und Hacky [2] Aber mit EF 6.1 und CF-Funktionen Ich versuche, etwas mehr sauber zu finden)

+0

Haben Sie am Ende eine nette Lösung gefunden? – Gavin

+0

@Gavin Einige Hinweise, aber noch nicht ausprobiert: https://codefirstfunctions.codeplex.com/discussions/541844 –

Antwort

1

Sie Datatable für sie verwenden können.

  1. 'Datatable' Create var dt = new Datatable()
  2. Erstellen von Spalten und Zeilen ot Tabelle
  3. Parameter erstellen

    var dtparameter = new SqlParameter("paramname", SqlDbType.Structured); 
    dtparameter.Value= dt; 
    dtparameter.TypeName = "dbo.udt_tableName"; 
    

Geben Sie diesen Parameter auf Entity Framework für den Aufruf tablevalue-Parameter

+0

Sie meinen diese http://msdn.microsoft.com/en-us/library/system.data.datatable. aspx 'DataTable'? Wie verwende ich das in LINQ im Entity Framework? –