在我的數據庫中,我定義了一些函數,假設它叫做fnTest
。 是否可以從我的LINQ/EF查詢中調用該函數?事情是這樣的:如何從EF LINQ查詢調用DB函數?
var param3, param4;
var res = (from x in db.Something
where x.field1 > 0
orderby fnTest(x.f1, x.f2, param3, param4)
select x).Take(20);
正如你所看到的,我需要的函數,在數據庫端執行,因爲我需要使用的值,它返回的數據進行排序。前兩個參數是表中的字段,後兩個參數是一些在程序中會改變的數字,但對於每個查詢都是不變的。
是否有可能以某種方式調用已經在數據庫中創建的函數?或者我需要使用這樣的東西:
((IObjectContextAdapter) context).ObjectContext.CreateQuery
並寫入查詢手動?
謝謝,這正是我想要的! – xx77aBs