首页 > 解决方案 > 实体框架:哪些表实体受不带日志的 SaveChanges 影响?

问题描述

在 EntityFramework Core 中,如何在不使用 Log 的情况下调用 SaveChanges() 后更新哪些表实体?我想存储在变量或控制台写行中。有没有办法读取元数据或通过反射等?对任何策略持开放态度。如果保存了多个表,想保存在 List 或 Enumerable 中,

public class CustomContext : DbContext
{
    public CustomContext ()
    {
    }

    public override int SaveChanges()
    {
        Console.Writeline("...
    }

资源:如何使实体框架数据上下文只读

使用 Entity Framework Core 2.2

'重复问题跟踪所有原始内容、值等,我只是在寻找受影响的不同实体,可能需要更简单的代码行。

标签: c#.netentity-framework.net-coreentity-framework-core

解决方案


试试这个希望这会帮助你。

var dirtyEntries = context.ChangeTracker
           .Entries()
           .Where(x => x.State == EntityState.Modified || x.State == EntityState.Deleted|| x.State == EntityState.Added)
           .Select(x =>x.Entity)
           .ToList();

推荐阅读