Хранимые функции с Linq to Entities
Как сделать хранимую функцию MS-SQL доступной в выражениях LINQ при использовании платформы Entity?
Функция SQL была создана с CREATE FUNCTION MyFunction(@name) ...
). Я надеялся получить к нему доступ аналогично этому:
var data = from c in entities.Users where MyFunction(c.name) = 3;
К сожалению, у меня есть только.NET 3.5.
1 ответ
Решение
Вы действительно можете импортировать функции БД в EF 1. Но вы не получите EdmFunctionAttribute
в EF 1, так что вы ограничены контекстами, в которых вы можете их использовать. Вам нужен EF 4 для этого.
В вашем случае вы можете рассмотреть возможность отображения процедуры возврата Users
(для 3.5; опять же, 4 лучше для этой функции).