【问题标题】:Using two DB context from different libraries使用来自不同库的两个数据库上下文
【发布时间】:2019-10-06 00:36:22
【问题描述】:

我有两个库,每个库都有一个 DbContext。我在 Windows 窗体应用程序中使用这两个库。调用 DbContext 时,我得到以下信息:

'已设置'AzureConfig'的实例,但未发现此类型 在与“DB”上下文相同的程序集中。要么把 DbConfiguration 类型与 DbContext 类型在同一程序集中,请使用 DbConfigurationTypeAttribute 对 DbContext 类型指定 DbConfiguration 类型,或者在 config 中设置 DbConfiguration 类型 文件。

我可以看到其他人有同样的问题,但不是由两个上下文引起的。我尝试向每个上下文添加一个 DbConfiguration。但后来我得到以下信息:

'已设置'AzureConfig'的实例,但未设置此类型 在与“DB”上下文相同的程序集中发现。要么把 DbConfiguration 类型与 DbContext 类型在同一程序集中,请使用 DbConfigurationTypeAttribute 对 DbContext 类型指定 DbConfiguration 类型,或者在 config 中设置 DbConfiguration 类型 文件。

两个 DbConfiguration 位于每个带有 DbContext 的库中。

【问题讨论】:

  • 你说“然后我明白了”,好像取得了一些进展/不同,但这些引用的消息看起来和我一模一样?
  • 你完全正确。在第二个错误我会纠正。
  • 当我试图重现另一个错误时,我删除了两个 DbConfiguration。它们没有被添加到任何 DbContext 中,它们只是项目的一部分。然后它起作用了。所以结论是,如果你必须使用 DbConfiguration,即使不使用它也会失败。完全删除两者会产生一个工作样本。
  • 那么是不是说这个错误不能再重现了呢?我很困惑你是否还需要帮助
  • 您好,我解决了。谢谢你的帮助。我添加一个答案。

标签: c# entity-framework


【解决方案1】:

我发现如果我删除了我的两个 DbConfiguration,它就可以工作。首先,我只是将它们作为属性删除。所以它们只是项目的一部分,没有被使用。这仍然产生了错误。如果我完全删除了这些类,那么错误就停止了。不知道为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    相关资源
    最近更新 更多