C# 某些属性值更改的原因EF Core 2.2.6中的实体状态为“未更改”

C# 某些属性值更改的原因EF Core 2.2.6中的实体状态为“未更改”,c#,entity-framework-core,C#,Entity Framework Core,我使用EF Core 2.2.6。我遇到一个陌生人。我从数据库中提取了一个实体,然后更改了一个属性值。我查看了ChangeTraker,我看到实体状态是未更改的。但实体属性值已更改。大部分的语句是EF创建更新查询。一切正常。我想知道为什么它是这样工作的。我的例子如下 var person = _unitOfWork.PersonRepository.Get(x => x.Id == 20); person.RegUserId=5; _unitOfWork.Commit(); pub

我使用EF Core 2.2.6。我遇到一个陌生人。我从数据库中提取了一个实体,然后更改了一个属性值。我查看了ChangeTraker,我看到实体状态是
未更改的
。但实体属性值已更改。大部分的语句是EF创建
更新查询
。一切正常。我想知道为什么它是这样工作的。我的例子如下

 var person = _unitOfWork.PersonRepository.Get(x => x.Id == 20);
 person.RegUserId=5;
 _unitOfWork.Commit();

public TEntity Get(Expression<Func<TEntity, bool>> predicate)
{
  return _dbset.FirstOrDefault(predicate);
}
var person=\u unitOfWork.PersonRepository.Get(x=>x.Id==20);
person.RegUserId=5;
_unitOfWork.Commit();
公共TEntity Get(表达式谓词)
{
返回_dbset.FirstOrDefault(谓词);
}

只有在调用ChangeTracker.DetectChanges()时,才会重新计算EntityState,通常是在SaveChanges()期间。能否显示DbContext实例化代码?还有PersonRepository?@Selmir
DbContext
中没有奇怪的代码。我更新了我的问题。我在“PersonRepository”中展示了get方法