2015-05-15 4 views
0

У меня есть хранимая процедура, которая принимает параметры, и я хотел бы запустить ее из реализации CodeFirst EF 6.1.3. Этот конкретный sp удаляет строки из таблицы и не возвращает ничего, кроме количества удаленных строк. Я не совсем уверен, как это сделать. Скажем, хранимая процедура - это sp_DeleteTheseRows, и для этого требуется один параметр @TheParam. Как это будет выглядеть? Я предполагаю, что он будет использовать ExecuteSQLCommand. Будет ли это:Как выполнить хранимую процедуру, которая принимает параметр в Code First?

MyContext.Database.ExecuteSQLCommand («exec dbo.sp_DeleteTheseRows @TheParam», новый SqlParameter («@ TheParam», userSuppliedParam));

ответ

0

Это то, что я обнаружил. Все приведенные ниже решения относятся к указанному выше вопросу:

DbContext.Database.ExecuteSqlCommand ("exec dbo.sp_DeleteTheseRows @ p0", MyValue);

Оказывается, вы действительно не нужен EXEC

DbContext.Database.ExecuteSqlCommand ("dbo.sp_DeleteTheseRows @ p0", MyValue);

DbContext.Database.ExecuteSqlCommand ("dbo.sp_DeleteTheseRows @Code", новый SqlParameter ("@ Code", MyValue));

0

Убедитесь, что вы определили тип команды как хранимую процедуру, например: cmd.CommandType = StoredProcedure;

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