2012-09-04 143 views
6

我有EF 5.0代码优先VS 2012项目和所有实体框架菜单命令(视图实体数据模型DDL SQL)产生“Exception has been thrown by调用的目标“弹出。我认为也发生了改变,EF Power Tools Beta 1(或VS 2010,我不确定)用于在输出窗口中显示EF Power Tools消息。现在我所得到的就是弹出窗口...这是VS还是电动工具问题?EF Power Tools Beta 2 - 异常已被调用目标引发

+1

我有同样的问题,你发现为什么或如何解决它? – Eatdoku

+0

我相信这是EF Power Tools的问题。这里最大的问题是,VS没有提供足够的细节来弄清楚什么是错误的...... – Pawel

+0

这正是我的观点 - 没有什么可以帮助缩小范围。它可以是a),b)c)..我不想通过所有可能的组合..前一个测试版至少显示进度和消息,但新的测试版不会(或者我不知道在哪里看..) –

回答

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"; 
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 - >查看实体数据模型(只读)它生成视图!

0

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

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
      <parameter value="v11.0" /> 
     </parameters> 
    </defaultConnectionFactory> 
</entityFramework> 
0

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

0

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

相关问题