在实体框架DBcontext中使用SqlConnectionStringBuilder和EntityConnection
本文关键字:SqlConnectionStringBuilder EntityConnection 实体 框架 DBcontext | 更新日期: 2023-09-27 18:27:32
这是我过去问题的延续
基本上,我将首先使用实体框架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);
}
问题可能在这里:
IntegratedSecurity = true,
//...
UserID = "sa",
Password = "Qwer0987"
您必须决定是使用IntegratedSecurity
(通过Windows身份验证)还是使用UserID
和Password
的SQL Server身份验证。