【问题标题】:A constructible type deriving from DbContext could not be found in the selected file (EF Power Tools Beta 3/Visual Studio 2012)在所选文件中找不到派生自 DbContext 的可构造类型(EF Power Tools Beta 3/Visual Studio 2012)
【发布时间】:2013-08-27 16:10:08
【问题描述】:

我正在尝试在 Visual Studio 2012 中以 heavily depended on by Julie Lerman 的身份使用 EF Power Tools Beta 3 的“查看模型”功能。

我最初遇到了许多人似乎遇到过的“序列不包含匹配元素”的问题。上述文章中的解决方案是解决问题的可接受的解决方法。

我现在遇到第二个错误:

“在所选文件中找不到派生自 DbContext 的可构造类型”

Julie 的博客和 this question 中提出的问题原因是某处存在冲突扩展。

我已禁用所有可能的扩展程序,但仍然收到错误消息。

是否有更多关于如何解决此问题的信息?

另外,我也在使用 VS2013 Preview。此版本的 Visual Studio 中是否提供此(工作)功能?

【问题讨论】:

    标签: visual-studio entity-framework ef-power-tools


    【解决方案1】:

    我过去曾遇到过这个问题。当您的上下文“做得太多”时,它就会出现 我故意含糊其辞。但您通常可以将其范围缩小到您的构造函数代码。

    如果 powertool 由于构造函数参数而无法轻松实例化您的上下文,或者构造函数启动了 power station,则该工具放弃... 毫无疑问,围绕无参数构造函数进行了更多技术分析,但您将知道足以避免。我使用注释掉的 VANILLA 构造函数,用于生成视图。然后在完成现场工作时将其放回原处。 ;-)

    public class MyFANCYDbContext : DbContext  {
       MyFANCYDbContext( what is here??? Can EF powertool supply this ?){
    
         Inside the Constructor... do I start a power station ? Any other issues
            preventing the Create object  MyFancyDbContent from succeeding ?   
      }
    }
    

    编辑:尝试引用 App.config 中 VALID 条目的简单构造函数。

    【讨论】:

    • 我已经尝试过你的建议,你是对的。我将依赖项注入到派生的 DbContext 类中。添加空构造函数可以克服错误。但是,尽管在启动项目中设置了有效的连接字符串(如 Julies 文章中所述),但我现在收到“System.Data.SqlClient.SqlException:发生网络相关或特定于实例的错误..”错误。至少我更近了一步!
    • 我无法使用建议的根启动项目解决方案来解决这个问题。它显然没有从 app.config 中获取连接字符串(或者看错了地方)。相反,我已将完整的连接字符串复制到我的 ContextBase 类上的一个空构造函数中,该构造函数现在可以工作了。
    • 我只有public TestContext(DbContextOptions<TestContext> options) : base(options) { },它抛出A constructible type deriving from DbContext could not be found
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多