这很简单。我有:
public WMSEntities() : base("name=WMSEntities") //WMSEntities is conection string name in web.config also the name of Entitiframework
{
}
已经在 edmx 文件夹的自动生成的 Model.Context.cs 中
为了在运行时连接到多个数据库,我在同一个文件 Model.Context.cs 中创建了另一个将连接字符串作为参数的构造函数,如下所示
public WMSEntities(string connStringName)
: base("name=" + connStringName)
{
}
例如,现在我在 Web.Config 中添加了其他连接字符串
<add name="WMSEntities31" connectionString="data source=TESTDBSERVER_NAME;initial catalog=TESTDB;userid=TestUser;password=TestUserPW/>
<add name="WMSEntities" connectionString="data source=TESTDBSERVER_NAME12;initial catalog=TESTDB12;userid=TestUser12;password=TestUserPW12/>
然后,当连接到数据库时,我调用下面的方法,将 connetionString 名称作为参数传递
public static List<v_POVendor> GetPOVendorList(string connectionStringName)
{
using (WMSEntities db = new WMSEntities(connectionStringName))
{
vendorList = db.v_POVendor.ToList();
}
}