C# 实体框架仅更新50%的事务
我正在使用实体框架更新项目表中的一些字段C# 实体框架仅更新50%的事务,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我正在使用实体框架更新项目表中的一些字段 public class Project { public Guid Id { get; set; } //more fields here .... public bool Activated{ get; set; } public bool IsReady{ get; set; } public bool IsSpecialProject{ get; set; } public IList<P
public class Project
{
public Guid Id { get; set; }
//more fields here ....
public bool Activated{ get; set; }
public bool IsReady{ get; set; }
public bool IsSpecialProject{ get; set; }
public IList<ProjectDetail> ProjectDetails{ get; set; }
}
我正在尝试更新三个布尔字段
var ProjectInDb = _dbContext.Project.Where(.....).FirstOrDefault();
if (ProjectInDb == null)
return false;
ProjectInDb.Activated = true;
ProjectInDb.IsReady= true;
ProjectInDb.IsSpecialProject= true;
var x = _dbContext.SaveChanges();
我的问题是,这段代码有时更新字段,有时不更新。我的意思是,一次是这样,另一次不是,然后是这样,以此类推
你认为发生了什么事
谢谢有任何错误/异常吗?如果没有更改属性值(例如,如果下次您再次将示例中的3个属性设置为
true
),EF足够聪明,不会发出UPDATE
命令。这就是您所说的“有时更新,有时不更新”吗?数据库中可能存在数据问题。我从来没有遇到过这样的问题。@RuiJarimba没有错误…@IvanStoev嗯…这太奇怪了,因为当我第一次在项目表中创建记录时,属性设置为false。。。
var ProjectInDb = _dbContext.Project.Where(.....).FirstOrDefault();
if (ProjectInDb == null)
return false;
ProjectInDb.Activated = true;
ProjectInDb.IsReady= true;
ProjectInDb.IsSpecialProject= true;
var x = _dbContext.SaveChanges();