EFcore迁移报错:“Unable to create an object of type ‘MyDbContext‘. For the different patterns supported ”

  • Post author:
  • Post category:其他


我们在输入迁移命令

Add-Migration  init

后发生错误!

错误的原因我就不说了,直接上解决方法!



第一步:


先创建一个DbContextDesignTimeFactory类



第二步:继承



IDesignTimeDbContextFactory

<MyDbContext>

在<>中

写入自己的Dbcontext,

并实现改接口



第三步:在接口实现的方法中配置连接数据库的代码(本案例是.net6的配置如有差异请微改)

现在我们在来写迁移命令(


记得把原来的Remove



已经不报错了,在执行Update-Database就完成迁移了


全部实现代码如下:

 /// <summary>
    /// 1.写一个类
    /// 2.实现IDesignTimeContextFactory接口
    /// 3.返回Dbcontext类就行了
    /// </summary>
    public class DbContextDesignTimeFactory : IDesignTimeDbContextFactory<MyDbContext>
    {
        public MyDbContext CreateDbContext(string[] args)
        {
           DbContextOptionsBuilder<MyDbContext> builder= new DbContextOptionsBuilder<MyDbContext>();
            builder.UseSqlServer("server=.;Database=IdentityDay1; user id=sa; Password=123456");
            return new MyDbContext(builder.Options);
        }
    }



版权声明:本文为dawfwafaew原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。