Мы используем Entity Framework 4.0, и у нас есть объект, который сопоставлен с хранимыми процедурами, предоставленными нашим администратором базы данных.Все функции вставки, обновления и удаления в деталях сопоставления имеют свои собственные хранимые процедуры.
При использовании сущностей, сопоставленных с таблицами, я могу добавить новую сущность, вызвать dataContext.SaveChanges();
, а затем новуюДля экземпляра, созданного мною, автоматически присваивается его свойство ID со значением из столбца идентификаторов в базе данных.
Как это можно сделать, когда сущность сопоставляется с хранимыми процедурами?Должна ли хранимая процедура INSERT делать что-то особенное и / или я должен делать что-то особенное для dataContext.SaveChanges();
?
Пример
Традиционный способ
var newCustomer = new Customer
{
Name = "Fred",
Age = 24
};
// newCustomer.Id is null
dataContext.Customers.Add(newCustomer);
dataContext.SaveChanges()
// newCustomer.Id is what database identity column was set to.
Mappedк хранимым процедурам.
var newCustomer = new Customer
{
Name = "Fred",
Age = 24
};
// newCustomer.Id is null
dataContext.Customers.Add(newCustomer);
dataContext.SaveChanges()
// newCustomer.Id is null