实体框架连接字符串

时间:2011-03-03 03:10:32

标签: c# asp.net entity-framework

我不确定如何处理以下问题,所以任何帮助将不胜感激。我正在开发一个连接到在线MSSQL数据库的应用程序,一切正常。我正在使用的模型是实体模型。

问题是我必须将连接字符串从在线数据库更改为本地数据库,但我不知道如何。创建新模型不是一种选择。我尝试在web.config中更改连接字符串,但错误是我唯一得到的......

这就是我在web.config中所拥有的:

<connectionStrings>
<add name="PravosudnaAkademijaEntities" connectionString="metadata=res://*/PrakModel.csdl|res://*/PrakModel.ssdl|res://*/PrakModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=MY-PC;Initial Catalog=pak_baza;Integrated Security=True" providerName="System.Data.EntityClient" />

4 个答案:

答案 0 :(得分:9)

"Data Source=HRVOJE-PC;Initial Catalog=pak_baza;Integrated Security=True"

这是您应该更改的部分,它只是您的常规SQL服务器连接字符串, HRVOJE-PC是计算机名称或IP,pak是数据库的名称。如果您的本地计算机上有数据库,则希望将HRVOJE-PC替换为localhost

有关SQL Server连接字符串的示例,请选中here

答案 1 :(得分:2)

或者,有一个DataContext constructor,它接受​​一个连接字符串参数,如果它是临时更改,您可以使用它,并计划切换回您以前使用的那个参数。

答案 2 :(得分:1)

其他方式是复制连接字符串并为本地创建另一个字符串。打开EDMX属性,在connectionstrings下拉列表中选择本地连接字符串。

答案 3 :(得分:0)

我不知道这是否推荐,但我认为它会起作用。

在model.context.cs文件中有一个构造函数:

  

公共ModeEntities()               :base(“name = ConnectionStringName_In_Config”)           {           }

如果我们在该文件中创建另一个构造函数,例如:

  

public ModeEntities(string connName)               :base(“name =”+ connName)           {           }

然后我们可以使用新的构造函数传递我们想要的任何连接字符串,假设替换的connstring与原始的EF connstring具有相同的数据库结构。