更改跟踪不与Entity框架核心一起使用的跟踪

问题描述 投票:0回答:1

我想跟踪使用Entity framework core更新的实体的更改。问题是它始终没有给我更改,但数据库已更新。我正在使用PostgreSQL数据库和实体框架core.Below是我的配置:

Context.cs:

    public class TestContext : DbContext
    {
        public QRDAParsingContext(DbContextOptions<QRDAParsingContext> options) : base(options)
        {
            //options.UseSqlServer(ConfigurationManager.ConnectionStrings["BloggingDatabase"].ConnectionString)
        }
        public DbSet<Individual> Individual { get; set; }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
        }

        public override int SaveChanges()
        {
            return base.SaveChanges();
        }
    }

Startup.cs:

        public void ConfigureServices(IServiceCollection services)
        {
            JwtTokenDefinitions.LoadFromConfiguration(Configuration);
            services.ConfigureJwtAuthentication();
            services.AddMvc();
            services.AddCors();
            services.AddEntityFrameworkNpgsql().AddDbContext<QRDAParsingContext>(options => options.UseNpgsql(Configuration.GetConnectionString("DataAccessPostgreSqlProvider")));

            services.AddMvc().AddJsonOptions(options =>
            {
                options.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
                options.SerializerSettings.ContractResolver =
                   new Newtonsoft.Json.Serialization.DefaultContractResolver();
            });
            // Register the Swagger generator, defining one or more Swagger documents

            var corsBuilder = new CorsPolicyBuilder();
            corsBuilder.AllowAnyHeader();
            corsBuilder.AllowAnyMethod();
            corsBuilder.AllowAnyOrigin(); // For anyone access.
            corsBuilder.AllowCredentials();
            services.AddCors(options =>
            {
                options.AddPolicy("SiteCorsPolicy", corsBuilder.Build());
            });

        }

给出问题的代码:

 context.Entry(updateIndividualNew).State = EntityState.Modified;
 context.SaveChanges();
 var changes = context.ChangeTracker.Entries().Where(p => p.State == EntityState.Modified).ToList();
postgresql entity-framework-core
1个回答
0
投票

嗨,我有一个示例如何跟踪实体更改并保存有关更改qazxsw poi的数据库信息

https://github.com/siasty/EntityChangeTracking.git
© www.soinside.com 2019 - 2024. All rights reserved.