Asp.net core mvc saveChangesSync更新对象我没有';我救不了它

Asp.net core mvc saveChangesSync更新对象我没有';我救不了它,asp.net-core-mvc,save,entity-framework-core,asp.net-core-webapi,Asp.net Core Mvc,Save,Entity Framework Core,Asp.net Core Webapi,我正在使用EntityFrameworkCore从数据库中获取一个对象这个对象我将使用它创建另一个对象,所以我的步骤是 1-获取对象表单数据库 2-更改此对象中的属性 3-使用此对象将其他类型的另一个对象添加到数据库 4-电话 await _context.AppLogs.AddAsync(log); await _context.SaveChangesAsync(); 在此之后,添加我的对象“log”,并自动更新数据库中的第一个对象属性 我想问一下这是否有效,为什么我没有调用更新函数

我正在使用EntityFrameworkCore从数据库中获取一个对象这个对象我将使用它创建另一个对象,所以我的步骤是

1-获取对象表单数据库

2-更改此对象中的属性

3-使用此对象将其他类型的另一个对象添加到数据库

4-电话

  await _context.AppLogs.AddAsync(log);
  await _context.SaveChangesAsync();
在此之后,添加我的对象“log”,并自动更新数据库中的第一个对象属性


我想问一下这是否有效,为什么我没有调用更新函数,我只是更改了一个属性

EF将自动检测对上下文跟踪的现有实体所做的更改。从数据库加载/查询时,将跟踪该实体。因此,只需修改分配给属性的值,然后调用
SaveChanges
即可自动更新数据库:

var blog = context.Blogs.First();
blog.Url = "http://sample.com/blog";
context.SaveChanges(); 
如果不想更新实体的数据库,可以将实体状态设置为“未更改”:

var blog = context.Blogs.First();
blog.Url = "http://sample.com/blog";
context.Entry(blog).State = EntityState.Unchanged; 
context.SaveChanges();  

SaveChanges
不会触及未更改的实体。对于处于未更改状态的实体,更新不会发送到数据库。

EF将自动检测对上下文跟踪的现有实体所做的更改。从数据库加载/查询时,将跟踪该实体。因此,只需修改分配给属性的值,然后调用
SaveChanges
即可自动更新数据库:

var blog = context.Blogs.First();
blog.Url = "http://sample.com/blog";
context.SaveChanges(); 
如果不想更新实体的数据库,可以将实体状态设置为“未更改”:

var blog = context.Blogs.First();
blog.Url = "http://sample.com/blog";
context.Entry(blog).State = EntityState.Unchanged; 
context.SaveChanges();  
SaveChanges
不会触及未更改的实体。对于处于未更改状态的实体,更新不会发送到数据库