Entity Framework 7 Scaffold-DbContext 重写 OnConfiguring 而不检查 if (!optionsBuilder.IsConfigured)

问题描述 投票:0回答:1

我从 EF6 切换到 EF7,并使用

Scaffold-DbContext
命令重建我的类,我注意到生成的
DbContext
具有不同的
OnConfiguring
方法实现。

EF6:

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
            optionsBuilder.UseNpgsql("...");
        }
    }

EF7:

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
            optionsBuilder.UseNpgsql("...");
    }

我的新包参考是:

  • Microsoft.EntityFrameworkCore”版本=“7.0.1”
  • Microsoft.EntityFrameworkCore.PostgreSQL”版本=“7.0.1”
  • Microsoft.EntityFrameworkCore.Tools”版本=“7.0.1”

这个缺失的检查真的很痛苦,我想避免在重建类时再次手动插入它。

为了避免这个问题,我想使用从脚手架 DbContext 派生的类,实现

OnConfiguring
方法。

虽然这有效,但在我看来真的很奇怪,因为我必须用一个......绝对不执行任何操作的方法来覆盖现有方法!

有更好的方法来完成这项工作吗?也许有一种方法可以告诉

Scaffold-DbContext
不要搭建
OnConfiguring
方法?

entity-framework
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.