EF Power Tools Beta 2 - 目标调用抛出了异常

6

我有一个使用EF 5.0 code-first VS 2012的项目,所有Entity Framework菜单命令(查看实体数据模型DDL SQL)都会弹出“目标调用引发了异常”的弹窗。我认为也改变了的是EF Power Tools Beta 1(或VS 2010,我不确定)曾在输出窗口中显示EF Power Tools消息。现在我只能得到弹窗...这是VS还是Power Tools的问题?


1
我也遇到了同样的问题,你找到原因或解决方法了吗? - Eatdoku
我认为这是EF Power Tools的问题。最大的问题在于VS没有提供足够的细节来找出问题所在... - Pawel
这正是我的观点 - 没有任何帮助缩小范围的东西。它可以是a)、b)、c)..我不想浏览所有可能的组合..之前的beta版本至少显示了进度和消息,但新版本没有(或者也许我不知道在哪里看..) - Stan Bashtavenko
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)
    {
    }*/
}

然后,如果您右键单击上下文类 -> Entityframework -> View Entity Data Model(只读),它将生成视图!

1
我遇到了这个错误,问题其实很简单...包含我的Context的项目并不是启动项目。一旦我将该项目设置为启动项目,它就开始工作了。

1
当我没有在包含我的DbContext类的项目的App.config中配置正确的默认连接工厂时,遇到了这个错误。我更新了它以使用正确的工厂,然后这个错误消失了。在我的情况下,我将其设置为使用LocalDbConnectionFactory:
 <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
        <parameters>
            <parameter value="v11.0" />
        </parameters>
    </defaultConnectionFactory>
</entityFramework>

0

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


0

也许在选择实体框架菜单命令时,Visual Studio无法确定要使用哪个连接字符串来使用您的DBContext。

在我的情况下,我通过验证我是否有一个“默认”的dbContext连接字符串来解决了这个问题。因此,当您右键单击db context并选择Entity framework时,您将连接到DB。

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

public class MyDbContext : DbContext
{
    public static string ConnectionName; 

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

正如您所看到的,我默认情况下没有ConnectionString。

我更改为:

    public static string ConnectionName = "DefaultConnNameInAppConfig"; 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接