我有一个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来进行支架迁移。
相关分类