当设计模型首先是数据库时,使用EF代码优先迁移?

时间:2015-12-21 15:06:34

标签: entity-framework ef-code-first entity-framework-6 ef-migrations

真正的问题似乎在于这是从DB

刷新代码第一模型的最佳方法

当域模型必须反映数据库更改时,如何使用代码优先迁移的任何缺点或替代方案? (例如,在MDS的情况下)

选项1: 我试过让POC的迁移上下文直接从CodeFirstFromDB上下文继承。 当从数据库生成EF模型时,模型与迁移上下文分离,例如。 dbcontext不知道存在此类迁移。 迁移仅针对迁移上下文启用,因此它仅跟踪其自己的resx上的更改。

public class MigrationInheritedDBContext : ModelCodeFirstFromDB 
{
    public MigrationInheritedDBContext() : base("name=MigrationInheritedDBContext ") 
{

    }
}




public partial class ModelCodeFirstFromDB : DbContext
{
    public ModelCodeFirstFromDB()
        : base("name=ModelCodeFirstFromDB")
    {
    }

    public ModelCodeFirstFromDB(string connectionString) : base(connectionString)
    {
    }

    public virtual DbSet<DMObject1> DMObject1 { get; set; }
    public virtual DbSet<DMObject2> DMObject2 { get; set; }
    public virtual DbSet<DMObject3> DMObject3 { get; set; }
.
.
.
.

选项2: 有T4模板将直接从数据库生成db上下文。

欢迎任何笔记,意见,替代方法,谢谢。

0 个答案:

没有答案