2016-10-31 43 views
0

我使用实体框架创建ASP.NET Web应用程序。我的web.config是这样的实体框架的默认连接定义在哪里?

<entityFramework> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> 
<providers> 
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
</providers> 
</entityFramework> 

我想在SQL Server Management Studio中查看我的数据库。我找不到将数据存储在实体框架中的服务器在哪里。直到我用Glimpse看它在哪里。所以我的数据库在.\SQLEXPRESS中创建。我想将默认连接更改为另一台服务器。我试过这样的东西

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

但它造成了错误ArgumentException。那么我应该怎么做来改变默认的连接服务器呢?

我使用代码优先方法来创建数据库

+0

听起来你的连接字符串在你的配置file.please见下文失踪的答案 – mzonerz

+0

有无阅读本MSDN文章:[实体框架连接和模型](https://msdn.microsoft.com/en-us/library/jj592674(v = vs.113).aspx)。它提供了很多方法(和示例)[编辑:更好的链接] – Basic

回答

0

请检查下面的例子为web.config中

<configuration> 
    <configSections> 
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
      </configSections> 
      <connectionStrings> 
      <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-IHIPosterPresentationApp-20160104113839;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-IHIPosterPresentationApp-20160104113839.mdf" providerName="System.Data.SqlClient" /> 

      <add name="IHIPosterAppEntities" connectionString="metadata=res://*/Models.IHIPosterAppDbEntityModel.csdl|res://*/Models.IHIPosterAppDbEntityModel.ssdl|res://*/Models.IHIPosterAppDbEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;initial catalog=IHIPosterAppDev;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
      </connectionStrings> 
     <entityFramework> 
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
     </entityFramework> 
    </configuration> 
+0

我添加了'connectionStrings',没有错误,但当我检入(LocalDb)\ v11.0时,没有创建数据库。它看起来像我的应用程序仍在使用'。\ SQLEXPRESS' – Intan

+0

您是否使用代码优先方法? – mzonerz

+0

是的,我使用Code First方法。我遵循MVA教程 - > https://mva.microsoft.com/en-us/training-courses/implementing-entity-framework-with-mvc-8931?l=Oh3jHEC3_1204984382 – Intan