[英]Why some properties value was changed entity state is `UnChanged` in EF Core 2.2.6
I use EF Core 2.2.6.我使用 EF Core 2.2.6。 I come across one strange.
我遇到一个奇怪的。 I fetched one entity from DB then I changed one property value.
我从数据库中获取了一个实体,然后我更改了一个属性值。 I looked ChangeTraker I see entity state is
UnChanged
.我查看了 ChangeTracker 我看到实体 state 是
UnChanged
。 But entity property value was changed.但实体属性值已更改。 The Most part of stange is that EF create
update query
. stange 的大部分内容是 EF 创建
update query
。 Everythink works fine. Everythink工作正常。 I would like to learn why it is working like this.
我想了解它为什么会这样工作。 my example is following
我的例子如下
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);
}
EntityState is recalculated only when ChangeTracker.DetectChanges() is called, typically during SaveChanges(). EntityState 仅在调用 ChangeTracker.DetectChanges() 时重新计算,通常在 SaveChanges() 期间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.