EF核心2.0迁移以及附属程序和用户机密中的上下文

我有一个API项目,该项目是ASP.NET Core 2.0应用程序的正常启动。

该解决方案还具有一个包含我们的DbContext的附属程序集。

在附属程序集目录中打开命令提示符,然后尝试运行以下CLI命令:

dotnet ef migrations add UserAccountFields

结果是:

没有为此DbContext配置数据库提供程序。可以通过重写DbContext.OnConfiguring方法或在应用程序服务提供程序上使用AddDbContext来配置提供程序。

这是有道理的,因为没有任何有效的配置可供读取。看来CLI不允许在命令本身中指定提供程序或连接字符串。但是,当从现有数据库中构建上下文时,您可以这样做,但是我们首先使用代码,所以这是不可能的。

如果我切换到根应用程序项目的目录并尝试:

dotnet ef migrations add UserAccountFields -c ErsSecurityContext

我得到了错误:

找不到与命令“ dotnet-ef”匹配的可执行文件

这也很有意义,因为根应用程序不包含对EF NuGets的引用,我们也不希望这样做。

我们的连接字符串也存储在UserSecrets中,这使情况更加复杂。

如何通过覆盖OnConfiguring方法使此方案工作而又不会导致连接字符串分散在代码中?

我很困惑 我们的体系结构很好,但这是一个完整的展示方式,我不知道如何使用任何出色的CLI来进行支架迁移。


慕虎7371278
浏览 110回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP