Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架核心:没有为此dbcontext定义无参数构造函数_C#_Entity Framework Core - Fatal编程技术网

C# 实体框架核心:没有为此dbcontext定义无参数构造函数

C# 实体框架核心:没有为此dbcontext定义无参数构造函数,c#,entity-framework-core,C#,Entity Framework Core,当我试图用实体框架核心生成一个新的脚手架时,我遇到了一个问题。我犯了一个错误 没有为此dbcontext定义无参数构造函数 我试过任何解决办法,但都不管用 这是我的数据库上下文: public class MyDbContext: DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { }

当我试图用实体框架核心生成一个新的脚手架时,我遇到了一个问题。我犯了一个错误

没有为此dbcontext定义无参数构造函数

我试过任何解决办法,但都不管用

这是我的数据库上下文:

public class MyDbContext: DbContext
{
        public MyDbContext(DbContextOptions<MyDbContext> options)
        : base(options)
        {
        }

        public DbSet<Player> Players { get; set; }
        public DbSet<PlayerAdvanceStats> PlayerAdvanceStats { get; set; }
        public DbSet<Account> Accounts { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity<Player>()
            .HasOne(a => a.PlayerAdvanceStats)
            .WithOne(a => a.player)
            .HasForeignKey<PlayerAdvanceStats>(c => c.PlayerId);
        }
    }

尝试将以下内容添加到
DbContext
类中:

公共类MyDbContext:DbContext
{
//尝试添加错误指示的无参数构造函数
公共MyDbContext():base(){}
公共MyDbContext(DbContextOptions)
:基本(选项)
{
}
公共DbSet播放器{get;set;}
公共DbSet PlayerAdvanceStats{get;set;}
公共数据库集帐户{get;set;}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
基于模型创建(modelBuilder);
modelBuilder.Entity()
.HasOne(a=>a.PlayerAdvanceStats)
.WithOne(a=>a.player)
.HasForeignKey(c=>c.PlayerId);
}
}
}
根据文档

如果CLI无法从依赖项容器获取上下文,它将尝试查找默认构造函数或设计时工厂。在你做这两件事之前,你需要问问自己为什么它在你的容器中找不到上下文


如果上下文位于不同的项目中,则需要使用宿主生成器的项目,然后需要使用-s标志来指定启动项目。

是否尝试添加空构造函数?是否可以添加所使用的导致错误的命令?启动项目和具有上下文的项目是否相同?在正常设置中,启动项目中指定的DI用于创建dbcontext。您确定这是错误,而不是
System.MissingMethodException:没有为此对象定义无参数构造函数。
?强调
object
@stefanotoppi您是否可以添加导致OP中出现错误的完整命令?这将有助于深入了解问题。另外,再添加一点关于您的解决方案外观的信息。描述表明触发错误的是脚手架工具。这可能是值得澄清的。这是不必要的(或正确的)根据。OP肯定做了其他我们看不到的事。不……这不起作用
services.AddDbContext<MyDbContext>
                (options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));