在EF Core 3.0中,是否可以创建表/实体?基本上,我有一些历史表,我想限制插入/更新/删除命令。
我已经尝试过通过更改以下内容来使用AsNoTracking:
public DbSet<SampleHistory> SampleHistories { get; set; }
致:
public IQueryable<SampleHistory> SampleHistories { get {return Set<SampleHistory>).AsNoTracking<SampleHistory>(); } }
如果我像这样做(不会将任何内容保存在数据库中),那么它可以正常工作:
var v = DbContext.SampleHistories.FirstOrDefault(e => e.HistoryId == 1);
v.Field1 = $"Test{DateTime.Now.ToLongTimeString()}";
DbContext.SaveChanges();
但如果在保存之前添加更新语句,我就能看到记录在数据库中被更新了:
var v = DbContext.SampleHistories.FirstOrDefault(e => e.HistoryId == 1);
v.Field1 = $"Test{DateTime.Now.ToLongTimeString()}";
DbContext.Update(v);
DbContext.SaveChanges();
我也希望能够避免这种情况。