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