0

Какие шаги я должен выполнить, чтобы использовать следующую функцию скалярного значения sql в структуре сущности.Доступ к функции скалярного значения базы данных в платформе Entity 6 внутри linq

select dbo.GetDefaultAccount(5,1,48) 

Я попытался создать статический класс под тем же пространством имен EDMX и определения функции следующим образом

[EdmFunction("Model.Store", "GetDefaultAccount")] 
    public static int? GetDefaultAccount(int id, Int16 type, int assocId) 
    { 
     throw new NotSupportedException(); 
    } 

В то время как доступ к нему с помощью LINQ, как показано ниже

var Accountno = (from s in dbcontext.TranSetups select new { Accountno = CutomEdmxFunctions.GetDefaultAccount(5, 1, 48) }) 
         .FirstOrDefault().Accountno; 

Я получаю следующая погрешность

не может переводиться в LINQ к Entities хранить выражение, потому что перегрузка не соответствует передаваемым аргументам

Благодаря

ответ

0

К сожалению, работа скалярных функций в Entity Framework не так просто, как это должно быть. После длинного поиска в Google я нашел только два метода работы со скалярными функциями, лучше всего описано here, но помните: все изменения в файле .edmx будут потеряны при обновлении EDM из базы данных. Вам придется повторно редактировать файл .edmx каждый раз. Удачи.

+0

Ссылка только ответы обескуражены. \t Просьба указать основные части ответа из ссылочной ссылки (ссылок), так как ответ может стать недействительным, если связанная страница (ы) изменится. –

Смежные вопросы