Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/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# 初始化时未调用EntityFramework核心'OnConfiguring'_C#_Entity Framework_Entity Framework Core - Fatal编程技术网

C# 初始化时未调用EntityFramework核心'OnConfiguring'

C# 初始化时未调用EntityFramework核心'OnConfiguring',c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,我已经为这个问题挣扎了几天,但我仍然无法理解为什么会发生这种情况。我正在创建EntityFrameworkDbContext的一个新实例,并且没有调用方法OnConfigurang。我读过这篇文章,不幸的是,这没有帮助。 这是我的代码概要 public class MyContext : DbContext { public MyContext() : base() { } protected o

我已经为这个问题挣扎了几天,但我仍然无法理解为什么会发生这种情况。我正在创建EntityFramework
DbContext
的一个新实例,并且没有调用方法
OnConfigurang
。我读过这篇文章,不幸的是,这没有帮助。 这是我的代码概要

 public class MyContext : DbContext
    {
        public MyContext()
            : base()
        {
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            int a = 12;       
        }

    }
这就是我在ASP.net中从控制器调用它的方式

MyContext b = new MyContext();
但是,未调用
onconfigurang
。我正在使用EntityFramework core 2.2.4 nuget包。
对我可以尝试的事情有什么建议吗?这可能会帮助我缩小这个问题的范围?

您最好使用Scaffold DbContext为您自动生成所有内容。您需要从nugets下载4

1) EntityFrameworkCore

2) EntityFrameworkCore.设计

3) EntityFrameworkCore.Tools

4) EntityFrameworkCore.SqlServer

打开工具>NuGet软件包管理器>软件包管理器控制台。并在控制台中输入以下内容

Scaffold-DbContext "Server=yourserveraddress;Database=yourdatabase;user id=youruser;password=yourpassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context "YourOwnContext"

只需使用scaffoldbcontext命令。它将自动为您生成所有内容。向下滚动,直到您在下面我发布的答案中看到“Scaffold DbContext”。可以检查。你提到的帖子说它不是在对象创建时执行的,而是在你的第一次查询时执行的。在您的情况下不是这样吗?@AthanasiosKataras不,它没有到达断点或配置中的任何东西必须在稍后的某个点调用它。例如,如果您添加
\uux=b.ChangeTracker
after
MyContext b=newmycontext(),此时应调用它。