ASP.NET MVC实体框架的连接字符串和上下文没有作品在创建数据库

问题描述:

我有一些问题,我的ASP.NET MVC项目,使用实体框架。问题是有关连接字符串(我搜索它的网络而不是工作还)ASP.NET MVC实体框架的连接字符串和上下文没有作品在创建数据库

这是我的情景:

的ASP.NET MVC项目有一个名为DbData扩展DbContext类。控制器调用此类的新实例并调用SaveChanges来创建数据库。我在创建数据库时遇到问题。

  1. 如果我不运行的具体配置和检查方面的实例,我得到这个例外

    操作无效。连接已关闭

    数据源为.\SQLEXPRESS,默认为。结果不能创建数据库

  2. 如果我尝试在DbData : base("name = dbconn")使用一个连接字符串与在web.config名称设置和名称的特定SQL Server数据库中,我得到的是“dbconn”不web.config存在的错误。

代码:

public class DbData : DbContext 
{ 
    public DbData() 
     //: base("Name=dbconn") 
     { 

     } 
     public DbSet<Info> infos {get;set;} 
} 

这是web配置(试图用一个自定义连接字符串)

<add name="dbconn" providerName="System.Data.SqlClient" connectionString="Server=MYPC\SQL2012;MultipleActiveResultSets=True;Database=MvcDB;Persist Security Info=True;Integrated Security=SSPI;" /> 

的EntityFramework节到web.config中:

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 

我要疯了。请帮帮我。由于

+0

你可以发布你的配置设置吗? – DaniDev

+0

你的Web.Config应该有一个部分。如果它不是,你需要添加/配置它。如果你确实有一个,那么请发布它,以便我们可以帮助你。 – DaniDev

+0

尝试':base(“dbconn”)''而不是':base(“name = dbconn”)' –

如果您想使用默认的LocalDB(SQLEXPRESS你的情况),那么你在标签看起来应该如下:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
      <parameter value="localdbinstancename" /> 
     </parameters> 
    </defaultConnectionFactory> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 

如果你想使用一个特定的数据库服务器(与配置的连接字符串)你的配置文件看起来像:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" > 
     <parameters> 
      <parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True" /> 
     </parameters> 
     </defaultConnectionFactory> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 

*最重要的区别在于标签的ConnectionFactory引用。

*参数标签可能不取决于如何指定连接字符串是必要的。