6

我有 EF 5.0 代码优先 VS 2012 项目,所有实体框架菜单命令(查看实体数据模型 DDL SQL)都会产生“调用目标引发异常”弹出窗口。我认为还发生了变化的是 EF Power Tools Beta 1(或 VS 2010,我不确定)用于在输出窗口中显示 EF Power Tools 消息。现在我得到的只是弹出窗口......这是VS还是Power Tools问题?

4

5 回答 5

4

这是我的工作:

将构造函数注释掉,并将静态 MyDbContext 保持原样 -->

public class MyDbContext: DbContext
{
    public static string ConnectionName = "Name = SMS_ADvTECHContext";
    static MyDbContext()
    {
        Database.SetInitializer<SMS_ADvTECHContext>(null);
    }

/*  public SMS_MyDbContext()
        : base(ConnectionName)
    {
    }*/
}

然后,如果您右键单击上下文类 --> Enityframework --> 查看实体数据模型(只读),它会生成视图!

于 2013-01-07T12:20:08.177 回答
1

遇到了这个错误,这是一个更简单的问题......包含我的上下文的项目不是启动项目。一旦我将项目设置为启动项目,它就开始工作了。

于 2013-10-11T15:56:39.990 回答
1

当我没有在包含我的 DbContext 类的项目中的 App.config 中配置正确的默认连接工厂时,我遇到了这个错误。我更新了它以使用正确的工厂,这个错误就消失了。就我而言,我将其设置为使用 LocalDbConnectionFactory:

 <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
        <parameters>
            <parameter value="v11.0" />
        </parameters>
    </defaultConnectionFactory>
</entityFramework>
于 2013-05-31T18:42:13.163 回答
0

当您选择实体框架菜单命令时,Visual Studio 可能无法确定用于 DBContext 的连接字符串。

在我的例子中,我能够通过验证我的 dbContext 有一个“默认”连接字符串来解决这个问题。因此,当您右键单击数据库上下文并选择实体框架时,您将与数据库建立连接。

换句话说,我修改了我的 DBContext 以从命令行参数中选择连接字符串到我的应用程序。因此,通常情况下,我的数据库上下文没有“默认”值。

public class MyDbContext : DbContext
{
    public static string ConnectionName; 

    public DnnDbContext()
        : base( "Name=" + ConnectionName)  {     
    }

如您所见,默认情况下我没有 ConnectionString。

我改为:

    public static string ConnectionName = "DefaultConnNameInAppConfig"; 
于 2012-10-08T17:24:15.213 回答
0

当我在 web.config 中配置了多个具有相同名称的连接字符串时,我遇到了这个问题。

于 2014-05-19T21:30:38.337 回答