使用 Entity Framework Database First 时会自动生成 Model.Context.cs 文件。
我已经修改了类的标题部分以与工作单元和存储库模式兼容:
public partial class MyDatabaseContext : DbContext, IDbContext
{
public MyDatabaseContext()
: base("name=MyDatabaseContextEntities")
{
// disable lazy loading for best practices - keeps from accidentaly loading large entity graphs
Configuration.LazyLoadingEnabled = false;
}
// refactored
public new IDbSet<T> Set<T>() where T : class
{
return base.Set<T>();
}
public override int SaveChanges()
{
// this.ApplyStateChanges();
return base.SaveChanges();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
.
.
.
问题是每当我从数据库更新模型时,很明显,这个文件会被覆盖。
我已将相关代码保存在 *.config 的注释掉部分中,并在模型更新时简单地将其复制/粘贴回原处。
即使模型没有那么频繁地更新,我想知道是否有办法保留这些内容,这样我就不必经历复制/粘贴的额外步骤。