Я новичок в Entity Framework, я использовал Linq-to-SQL, и он отлично работает, но когда я хочу создать службу данных WCF, я получаю много ошибок от службы, поэтому я решил перейти на EF.Выполнение функции, связанной с таблицей, как IQueryable в платформе Entity
Но моя проблема - TVF (функция, связанная с таблицей), в моей базе данных у меня много TVF, которые возвращают данные для каждого зарегистрированного пользователя, а также права пользователя указанного объекта, например, у меня есть таблица Records
и TVF uf_SelectUserRecords(@UID BIGINT)
. Я хочу выполнить эту функцию и вернуть ее результат вместо таблицы Records
.
В Linq-to-SQL он работал нормально, но в EF я не могу заставить его работать, проблема в том, что я добавляю TVF к модели (через некоторые трюки, так как EF-конструктор ее не поддерживает) от TVF не IQueryable
, а IEnumerable
, поэтому я не могу вернуть его в службе данных WCF.
Есть ли способ, которым я могу выполнять функцию в виде таблицы?
Какую версию EF вы используете? Похоже, [улучшенная поддержка TVF] (http://msdn.microsoft.com/en-us/hh859577) существует в EF 5. –
Я использую EF5 в VS2012 – BigBoss