W mojej bazie danych zdefiniowałem jakąś funkcję, załóżmy, że nazywa się fnTest
. Czy można wywołać tę funkcję z mojego zapytania LINQ/EF? Coś takiego:Jak wywołać funkcję DB z zapytania EF LINQ?
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);
Jak widać, muszę tę funkcję do wykonania po stronie DB bo muszę uporządkować dane przy użyciu wartości, że wraca. Pierwsze dwa parametry to pola z tabeli, a dwa kolejne to niektóre liczby, które zmienią się w programie, ale będą stałe dla każdego zapytania.
Czy można w jakiś sposób wywołać funkcję, która jest już utworzona w DB? Czy muszę użyć czegoś takiego:
((IObjectContextAdapter) context).ObjectContext.CreateQuery
i napisać zapytanie ręcznie?
dzięki, to jest dokładnie to, co chciałem! – xx77aBs