Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EntityFramework 4-更新foreach中的记录_C#_Entity Framework 4_Dbcontext - Fatal编程技术网

C# EntityFramework 4-更新foreach中的记录

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(

我正在创建一个使用EF4和DBContext访问后端数据库的应用程序

在应用程序中的某一点上,我提取一组记录并迭代它们,更新值和时间戳

代码:

//更新任何通知的参数。。。
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的计算属性意味着该字段无法更新。