我想跟踪使用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();
嗨,我有一个示例如何跟踪实体更改并保存有关更改qazxsw poi的数据库信息
https://github.com/siasty/EntityChangeTracking.git