Нужно ли SaveChanges () для импорта функций (хранимых процедур)? - PullRequest
9 голосов
/ 11 октября 2011

Требуется ли SaveChanges () для импорта функций (хранимых процедур)?

Пример:

void foo(Product product)
{
    // AddProduct is a function import of a stored procedure
    entities.AddProduct(product.Name, product.Price, product.Description);

    entities.SaveChanges(); // Is this necessary?
}

1 Ответ

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

Согласно MSDN , SaveChanges

Сохраняет все обновления источника данных и сбрасывает отслеживание изменений в контексте объекта.

То есть для любых сущностей, которые присоединены к контексту и которые вы добавили, изменили или удалили, EF сгенерирует соответствующий код SQL и запустит его для базы данных.В вашем случае вы уже запускаете код SQL (более или менее) непосредственно для базы данных, вызывая хранимую процедуру AddProduct.Так что в вашем случае SaveChanges ничего не будет делать и не нужно (если, конечно, у вас нет других несохраненных изменений в ObjectContext, конечно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...