C# EntityFramework 4-更新foreach中的记录
我正在创建一个使用EF4和DBContext访问后端数据库的应用程序 在应用程序中的某一点上,我提取一组记录并迭代它们,更新值和时间戳 代码:C# EntityFramework 4-更新foreach中的记录,c#,entity-framework-4,dbcontext,C#,Entity Framework 4,Dbcontext,我正在创建一个使用EF4和DBContext访问后端数据库的应用程序 在应用程序中的某一点上,我提取一组记录并迭代它们,更新值和时间戳 代码: //更新任何通知的参数。。。 foreach(RecvParameters中的RecvParam参数) { //获取现有参数 Data.DeviceParameter dbParameter=this.device.DeviceParameters.SingleOrDefault(x=>x.Name==parameter.Name); //空检查 if(
//更新任何通知的参数。。。
foreach(RecvParameters中的RecvParam参数)
{
//获取现有参数
Data.DeviceParameter dbParameter=this.device.DeviceParameters.SingleOrDefault(x=>x.Name==parameter.Name);
//空检查
if(dbParameter==null)
继续;
//更新现有参数实例
dbParameter.Value=parameter.Value;
dbParameter.UpdatedOn=DateTime.Now;
//在上下文中添加一个条目
条目(dbParameter).State=EntityState.Modified;
}
DBContext.SaveChanges();
执行此操作时,我的数据库值不会更改。。。时间戳和值字段保持不变
有人能给我指出正确的方向吗?实际上,不需要手动更新实体的状态。修改附加到上下文的实体的属性可以帮您完成这项工作 无论如何,如果
device
是您的数据库上下文,则必须对其调用SaveChanges
我的问题实际上隐藏在这个问题/答案中。。。StoreGeneratedPattern的计算属性意味着该字段无法更新。我的问题实际上隐藏在这个问题/答案中。。。StoreGeneratedPattern的计算属性意味着该字段无法更新。