Che*_*hev 5 .net c# sql-server entity-framework entity-framework-4
我们正在使用Entity Framework 4.0,我们有一个实体映射到我们的DBA提供的存储过程.映射详细信息中的Insert,Update和Delete函数都有自己的存储过程.
当使用映射到表的实体时,我能够添加新实体,调用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.
Run Code Online (Sandbox Code Playgroud)
var newCustomer = new Customer
{
Name = "Fred",
Age = 24
};
// newCustomer.Id is null
dataContext.Customers.Add(newCustomer);
dataContext.SaveChanges()
// newCustomer.Id is null
Run Code Online (Sandbox Code Playgroud)
如果您在数据库中使用Identity列,请确保您的存储过程包含:
SELECT Scope_Identity() AS Id
Run Code Online (Sandbox Code Playgroud)
打电话后 INSERT
还要确保实体模式中的PK已正确配置为StoreGeneratedPattern设置为Identity(如果您使用从数据库更新,则应自动配置)
| 归档时间: |
|
| 查看次数: |
2156 次 |
| 最近记录: |