如何获取 EF Core 中已更改属性的列表?
How to get list of changed properties in EF Core?
我可以轻松获取 EntityEntry 及其状态:
EntityEntry<Customer> entry = dbContext.Entry(customer);
如何获取 EntityEntry 的更改属性列表?
我有这样的东西:
entry.CurrentValues.Properties
.Where(prop => changedEntry.CurrentValues[prop] != changedEntry.OriginalValues[prop])
.Select(prop => new
{
Property = prop,
Value = changedEntry.CurrentValues[prop]
});
但它不支持 ValueComparers。
您可以通过以下方式进行:
entry.Properties
.Where(prop => prop.IsModified)
.Select(prop => new
{
Property = prop.Metadata,
Value = prop.CurrentValue,
});
其他方法需要访问 EF Core 的 Internal
命名空间。
我可以轻松获取 EntityEntry 及其状态:
EntityEntry<Customer> entry = dbContext.Entry(customer);
如何获取 EntityEntry 的更改属性列表?
我有这样的东西:
entry.CurrentValues.Properties
.Where(prop => changedEntry.CurrentValues[prop] != changedEntry.OriginalValues[prop])
.Select(prop => new
{
Property = prop,
Value = changedEntry.CurrentValues[prop]
});
但它不支持 ValueComparers。
您可以通过以下方式进行:
entry.Properties
.Where(prop => prop.IsModified)
.Select(prop => new
{
Property = prop.Metadata,
Value = prop.CurrentValue,
});
其他方法需要访问 EF Core 的 Internal
命名空间。