首页 > 解决方案 > 初始化时未调用EntityFramework核心`OnConfiguring`

问题描述

我已经在这个问题上苦苦挣扎了几天,但我仍然无法弄清楚为什么会发生这种情况。我正在创建一个新的 EntityFramework 实例,并且没有调用DbContext该方法。OnConfiguring我已经阅读了这篇文章,不幸的是这并没有帮助。这是我的代码大纲

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

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

    }

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

MyContext b = new MyContext();

但是OnConfiguring没有被调用。我正在使用 EntityFramework 核心 2.2.4 nuget 包。关于我可以尝试的事情有什么建议吗?这可能有助于我缩小这个问题的范围?

标签: c#entity-frameworkentity-framework-core

解决方案


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

1) 实体框架核心

2) EntityFrameworkCore.Design

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"

推荐阅读