определить скалярную функцию с кодом ef4.1 первым? - PullRequest
1 голос
/ 10 октября 2011

У меня есть функция под названием distancebetween i wnat, чтобы определить ее в скалярной функции и вызвать ее по linq, если есть возможность сделать это сначала с помощью кода EF4.1?

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Нет.Сначала код был разработан как «сначала код» = вы создадите код, и он создаст базу данных, в которой не существует логики базы данных (нет представлений, хранимых процедур, триггеров или функций).Из-за этого в нем полностью отсутствуют функции для отображения логики базы данных, такие как функции и хранимые процедуры.Если вы хотите использовать его в LINQ, вы должны отказаться от code-first / fluent-API и начать использовать EDMX там, где это поддерживается.

0 голосов
/ 13 декабря 2012

Использование ExecuteSqlCommand и выходного параметра должно помочь при скалярных хранимых процессах

var outParam = new SqlParameter("overHours", SqlDbType.Int);
outParam.Direction = ParameterDirection.Output;

var data = context.Database.ExecuteSqlCommand("dbo.sp_getNumberJobs @overHours OUT", outParam);
int numJobs = (int)outParam.Value;
...