日期:2014-05-20  浏览次数:20983 次

请问EF怎样修改数据库名称呢?
因为系统要复制多份出来给客户,数据库名不能相同,但发现EF把数据库名称在很多地方都写死了,如:

<add name="数据库名Entities" connectionString="metadata=res://*/数据库名.csdl|res://*/数据库名.ssdl|res://*/数据库名.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=(local);Initial Catalog=数据库名;Persist Security Info=True;User ID=sa;Password=sa;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

public partial class 数据库名Entities : ObjectContext{}

最大问题是很多地方都使用了:
var db = new 数据库名Entities();



请问大家我应该怎样修改数据库名称呢?

------解决方案--------------------
????????

这要求稀奇啊,多份copy并不会影响啊

再说这个name值也和你的
var db = new 数据库名Entities();

没有关系
因为 new 数据库名Entities() 是class类,这个类里面有个conn属性,这个属性里面才会去读取这个name标识的连接字符串

也就是var db = new 数据库名Entities();没有任何直接关系,他们值动过一个string来传递设置
------解决方案--------------------
将数据库连接字符串给提取出来  不要写死在代码里即可
------解决方案--------------------
唉,不会是因为EF于是从此成为ado.net文盲了吧?

是培训机构培训出来的?否则你应该有自学意识,不论是ado.net还是ef都会非常高效地用在同一个程序中。