当前位置: 首页 > 编程语言 > C#

配置调用了AddDbContext,但是上下文类型“MyContext”只声明了一个无参构造函数?Share

时间:2023-04-11 02:09:13 C#

使用配置调用AddDbContext,但上下文类型'MyContext'仅声明无参数构造函数?在以下控制台应用程序(.Netcore2.0)中,scaffold-dbcontext创建以下DbContextpublicpartialclassMyContext:DbContext{publicvirtualDbSetTables{get;放;}protectedoverridevoidOnConfiguring(DbContextOptionsBuilderoptionsBuilder){if(!optionsBuilder.IsConfigured){optionsBuilder.UseSqlServer(Program.Conn);}}protectedoverridevoidOnModelCreating(ModelBuildermodelBuilder){....}}在Main()(staticvoidMain(string[]args))中,代码如下varservices=newServiceCollection();varconn=configuration.GetConnectionString("MySource");services.AddDbContext(o=>o.UseSqlServer(conn));//Error出现以下运行时错误?AddDbContext是通过配置调用的,但上下文类型“MyContext”仅声明了一个无参数构造函数。这意味着永远不会使用传递给AddDbContext的配置正如错误所述,如果您通过AddDbContext配置AddDbContext那么您还需要添加一个构造函数,该构造函数接收DbContextOptions类型的参数到MyContext类,如下所示publicMyContext(DbContextOptionsoptions):base(options){}如果不这样做,ASP.NetCore将无法注入您使用AddDbContext设置的配置。以上是C#学习教程:配置调用AddDbContext,但是上下文类型“MyContext”只声明了一个无参构造函数?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: