У меня есть хранимая процедура, которую я называю так же, как все мои другие (которые работают нормально), но это только кажется, будет выполняться, когда я добавить Count() к нему ...хранимая процедура выполняется только с графом
Это мой код контроллера:
public static void SaveGridLayout(string userName, string gridViewId, string layoutData)
{
using (var context = new Entities())
{
var userNameParam = new SqlParameter("@user_name", userName);
var gridViewIdParam = new SqlParameter("@grid_id", gridViewId);
var layoutParam = new SqlParameter("@layout", layoutData);
context.Database.SqlQuery<UserGridLayoutsEntity>("sp_SaveLayout @user_name, @grid_id, @layout", userNameParam, gridViewIdParam, layoutParam);
}
}
Это не дает никакого результата, но когда я изменить последнюю строку: context.Database.SqlQuery<UserGridLayoutsEntity>("sp_SaveLayout @user_name, @grid_id, @layout", userNameParam, gridViewIdParam, layoutParam).Count();
это делает и SP выполняется. Было бы неплохо как-то не добавлять счетчик и выполнять процедуру с самого начала. Спасибо!
Это потому, что 'SqlQuery' является просто _query_, пока вы на самом деле ничего не делаете с результатами (например, считайте их). Если вы просто хотите немедленно выполнить инструкцию SQL и не получить никаких результатов, используйте «ExecuteSqlCommand». –