这是我过去的question
的延续基本上,我将首先使用实体框架DB连接到具有相同表结构的多个数据库。我将循环并通过参数传递数据库目录。 (数据库名称在表中)。我在base()中得到一个无效的参数错误。我甚至不确定我是否正确这样做,因为我之前没有使用过这些构建器类。 这是我的代码:
public MirrorBranchesEntities(string db)
: base(ConnectToSqlServer(db))
{
}
public static MirrorBranchesEntities ConnectToSqlServer(string catalog)
{
var sqlBuilder = new SqlConnectionStringBuilder
{
DataSource = "(local)",
InitialCatalog = catalog,
PersistSecurityInfo = true,
IntegratedSecurity = true,
MultipleActiveResultSets = true,
UserID = "sa",
Password = "Qwer0987"
};
var entityConnectionStringBuilder = new EntityConnectionStringBuilder
{
Provider = "System.Data.EntityClient",
ProviderConnectionString = sqlBuilder.ConnectionString,
Metadata = "res://*/MirrorBranches.csdl|res://*/MirrorBranches.ssdl|res://*/MirrorBranches.msl"
};
return new MirrorBranchesEntities(sqlBuilder.InitialCatalog);
}
答案 0 :(得分:0)
问题可能在这里:
IntegratedSecurity = true,
//...
UserID = "sa",
Password = "Qwer0987"
您必须通过IntegratedSecurity
和UserID
决定是否要使用Password
(通过Windows身份验证进行身份验证)或SQL Server身份验证。