如何通过ef core scaffold命令使用classlib配置?

时间:2019-03-15 21:37:06

标签: c# entity-framework asp.net-core .net-core ef-core-2.2

我现在已经试用了ef核心脚手架工具,但令我惊讶的是,没有简单的方法可以将 dev connstring保留在类lib项目中的某个位置,并在生成时引用它模型。

大多数示例都使用命令中提供的硬编码连接字符串,这简直很难看:

dotnet ef dbcontext scaffold 'Server=localhost;Database=xxxxxx;User Id=xxxxxxx;Password=xxxxxxxx;' Microsoft.EntityFrameworkCore.SqlServer -o Data/EF

此外,它还会使用硬编码的连接字符串和#warning继续生成OnConfiguring覆盖,但我无法退出:

        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. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
                optionsBuilder.UseSqlServer("Server=localhost;Database=xxxxxx;User Id=xxxxxxx;Password=xxxxxxxx;");
            }
        }

根据文档,有一种方法可以传递连接字符串名称,但不适用于classlib项目。

我是否缺少某些东西或在ef dbcontext scaffold中做classlib的唯一方法是提供硬编码的连接字符串?

大多数示例都指导您在表示层(aspnet核心)中引用EF并在那里执行脚手架/迁移-但我认为(或希望如此)在某些实际单词应用程序中的大多数人都在尝试为了将其基础架构与表示层隔离开来,他们希望将EF代码隔离在某些classlib中。

0 个答案:

没有答案