【问题标题】:DB options connection string doesnt choose the one i specified数据库选项连接字符串没有选择我指定的那个
【发布时间】:2021-03-13 15:45:05
【问题描述】:

我有一个带有 abp 框架的 ASP.NET 核心 api,当我将一个连接字符串放入我的 appsettings.json 以供我的后端连接时,它永远不会选择我指定的连接字符串。

字符串看起来像

“默认”:“Server=projectname-sql-server.database.windows.net,1433;Initial Catalog=projectnamedb”+登录名

但是当我调试和检查连接字符串时,它总是采用一个以 ProjectnameDb 作为数据库名称的 localhost 变体。

connectionstring = "Server=localhost; Database=projectNameDb; Trusted_Connection=True;"

apb 有一些关于正在生成的连接字符串的信息(如果未找到),但即使我将 appsettings.json 放入具有所需字符串的每个模块中,它仍然没有被拾取。

这使我无法启动应用程序,因为即使我将连接更改为他们使用的连接,它也无法启动,我的迁移不会被应用,因此实体框架会引发一些错误找不到字段。

【问题讨论】:

  • 这个“abp”是特定的吗?还是您认为这是关于 asp.net core 的基本问题?无论如何,您可能应该向我们展示如何从配置中获取连接字符串,以及如何将其注入 DbContext,即Startup.ConfigureServices 的内容,以及 DbContext 的构造函数(和/或OnConfiguring 方法,如果你正在使用它)。
  • 添加你的appsettings.json文件内容

标签: asp.net-core entity-framework-core abp


【解决方案1】:

对于数据库创建,您可以查看 MyProject.DbMigrator appsettings.json。

apb 有一些关于正在生成的连接字符串的信息,如果没有的话 找到了,但即使我在每个模块中都放了一个 appsettings.json 所需的字符串仍然没有被拾取。

将 appsettings 放到每个模块中是行不通的,因为 appsettings 是 正在运行的应用程序的配置。

如果您在容器上运行应用程序,您可能还需要检查您的配置是否被环境变量覆盖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多