使用EF从数据库建立了实体模型。它的Context类中有一个OnModelCreating方法
protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); }
一开始没有管这里的代码,直接编写了Repository并写了测试程序。但是在运行测试的时候报异常
测试方法 OpenEcnu.Data.Tests.DbContextTest.GetUserDetailByUserIdTest 引发了异常:
System.NotSupportedException: 不支持通过使用 Database First 或 Model First 创建的 DbContext 创建 DbModelBuilder 或写入 EDMX。只能从不是使用现有 DbCompiledModel 创建的 Code First DbContext 获取 EDMX。
于是就很费解了,这里难道只能支持Code First吗?如果是DB First应该怎么样写才能不抛出这个异常而使测试代码能通过?
PM> Enable-Migrations -EnableAutomaticMigrations