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

我们在输入迁移命令 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);
        }
    }

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《设计模式:可复用的面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)是一本经典的计算机科学书籍,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides联合编写。 该书首次系统地介绍了23种常见的设计模式,这些模式是面向对象软件开发的重要指导和实践。设计模式是一种对重复出现的问题的解决方案,通过它们可以提供一种通用、可重用和可扩展的设计方法,用于解决软件系统中的常见问题。 《设计模式:可复用的面向对象软件的基础》描述了每个设计模式的结构、目的、应用场景和实现方式。它通过示例代码和详细解释来帮助读者理解每种模式的用途和优缺点。 这本书的主要贡献之一是将设计模式分为三个类别:创建型、结构型和行为型模式。其中,创建型模式关注如何通过不同的方式创建对象,结构型模式关注如何组合对象以形成新功能,行为型模式关注对象之间的通信和协作方式。通过这种分类方式,读者可以更好地理解和应用设计模式。 《设计模式:可复用的面向对象软件的基础》已成为软件工程师必读的经典之作。它提供了一种设计思维的范式,可以帮助开发人员提高软件的扩展性、可读性和可维护性。无论是初学者还是经验丰富的开发人员,阅读并理解设计模式都对他们的软件设计和开发能力有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值