Entity framework 增加此值的mvc实体框架更新字段

Entity framework 增加此值的mvc实体框架更新字段,entity-framework,auto-increment,Entity Framework,Auto Increment,我正在用实体框架应用程序进行MVC 我必须更新一个唯一字段,在1中自动递增该值 connectionenties\u db; 公共无效添加访问(长上载id) { var upload=new Uploads(){upload\u id=upload\u id,cantVisitions=CantVisits+1}; _db.Uploads.Attach(上传); _db.Entry(upload).Property(x=>x.cantVisitions).IsModified=true; _d

我正在用
实体框架
应用程序进行
MVC

我必须更新一个唯一字段,在1中自动递增该值

connectionenties\u db;
公共无效添加访问(长上载id)
{
var upload=new Uploads(){upload\u id=upload\u id,cantVisitions=CantVisits+1};
_db.Uploads.Attach(上传);
_db.Entry(upload).Property(x=>x.cantVisitions).IsModified=true;
_db.Configuration.ValidateOnSaveEnabled=false;
_db.SaveChanges();

}
如果该列不是identity,您只想向该属性添加一个,则可以执行以下操作:

var upload = new Uploads() { Upload_id = upload_id };
//Attach the existing entity to the context
_db.Uploads.Attach(upload);
// due to you set a property, the EF change tracker will detect your entity was modified, if you haven't disabled it
upload.CantVisits+=1;
_db.SaveChanges();
或将实体状态更改为“已修改”

var upload = new Uploads() { Upload_id = upload_id };
// due to you set a property the entity change tracker will detect your entity was modified, if you haven't disabled it
upload.CantVisits+=1;
context.Entry(upload).State = EntityState.Modified; 

_db.SaveChanges();

自动递增意味着你不设置值,它是自动设置的,所以我对你的要求有点困惑。谢谢。。。如果upload.cantVisitions为空,我如何管理?在这种情况下,将该行更改为:
upload.cantVisites=upload.cantVisites.HasValue?upload.cantVisites+1:1获取错误“将datetime2数据类型转换为datetime数据类型导致值超出范围。”。我认为它试图更新所有记录,而不仅仅是字段。您使用的是什么解决方案,第一个还是第二个?两者都。。第一个错误为“一个或多个实体的验证失败”。InnerException为null。。。