EFモデルにデータベース認証情報を動的に提供しようとしています。以下のアプローチは、Database Firstを使用するときに過去に働いていました。いくつかの同じような問題がありますが、この問題を解決するものはありません。私はここで何が欠けていますか?EFコードの最初のキーワードはサポートされていません: 'プロバイダ'
private const string ProviderName = "System.Data.SqlClient";
var SqlConnectionStringBuilder = new SqlConnectionStringBuilder {
DataSource = this.ServerName,
InitialCatalog = this.DatabaseName,
IntegratedSecurity = true
};
var EntityConnectionStringBuilder = new EntityConnectionStringBuilder {
Provider = ProviderName,
ProviderConnectionString = SqlConnectionStringBuilder.ToString()
};
using(var db = new AuditingContext(EntityConnectionStringBuilder.ToString()))
{
var session = new Session() {
};
db.Sessions.Add(session);
//ArgumentException occurs here
//Keyword not supported: 'provider'.
}
DbContext
public class AuditingContext: DbContext {
public DbSet <Session> Sessions { get; set; }
public DbSet <Cause> Causes { get; set; }
public AuditingContext(string connectionStringName): base(connectionStringName) {}
}
接続文字列
provider=System.Data.SqlClient;provider connection string=\"Data Source=localhost;Initial Catalog=TEST_DATABASE;Integrated Security=True\"
EF5 +のDbContextは、エンティティ接続文字列ではなく、通常の接続文字列であるとは思いません。 – DevilSuichiro
そのように簡単です。 @DevilSuichiroありがとうございました。 –