Dans ma base de données j'ai définir certaines fonctions, disons fnTest
. Est-il possible d'appeler cette fonction à partir de ma requête LINQ/EF? Quelque chose comme ceci:Comment appeler la fonction DB à partir de la requête 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);
Comme vous pouvez le voir, j'ai besoin de cette fonction pour exécuter sur le côté DB parce que je dois trier les données en utilisant la valeur qu'elle retourne. Les deux premiers paramètres sont des champs de la table, et les deuxièmes paramètres sont des nombres qui vont changer dans le programme, mais seront constants pour chaque requête.
Est-il possible d'appeler en quelque sorte une fonction déjà créée dans le DB? Ou dois-je utiliser quelque chose comme ceci:
((IObjectContextAdapter) context).ObjectContext.CreateQuery
et d'écrire la requête manuellement?
, c'est exactement ce que je voulais! – xx77aBs