Хранимые функции с 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 лучше для этой функции).

Другие вопросы по тегам