我从 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("...");
}
我的新包参考是:
这个缺失的检查真的很痛苦,我想避免在重建类时再次手动插入它。
为了避免这个问题,我想使用从脚手架 DbContext 派生的类,实现
OnConfiguring
方法。
虽然这有效,但在我看来真的很奇怪,因为我必须用一个......绝对不执行任何操作的方法来覆盖现有方法!
有更好的方法来完成这项工作吗?也许有一种方法可以告诉
Scaffold-DbContext
不要搭建 OnConfiguring
方法?
您可以使用
-NoOnConfiguring
选项
https://learn.microsoft.com/en-us/ef/core/cli/powershell#scaffold-dbcontext