首先感谢园友Mainz,这个动态指定数据库的问题困扰了我很久很久,Mainz给了我很大的帮助,并有一篇专门针对这个问题写的一篇博文。建议大家都去看看,说得很详细,很有参考价值。
这里我使用了另一种实现客户端指定DataBase,动态加载数据库的方法。暂时我认为是最为简单的,不过缺点就是每次CURD都要指定好这个DataBase,配合使用domainDataSource控件的话还好,比较方便,直接一开始指定传递的参数database即可.
废话不说:
后台实现:增加一个传递指定数据库参数的自定义方法 GetMyTestEntityNew
private TESTEntities _db;
private string entityConnectionString = ConfigurationManager.ConnectionStrings["TESTEntities"].ConnectionString;
public IQueryable<TestEntity> GetMyTestEntityNew(string database)
{
    var ecsb = new EntityConnectionStringBuilder(entityConnectionString);
    var scsb = new SqlConnectionStringBuilder(ecsb.ProviderConnectionString);
    scsb.InitialCatalog = database;
    ecsb.ProviderConnectionString = scsb.ToString();
    _db = new TESTEntities(ecsb.ToString());
    return _db.TestEntity;
}

本文转载:CSDN博客