Entity Framework コードを最初に使用すると、次のコードを使用してデータベース接続文字列を取得できます。
var db = new dbContext();
Console.Writeline(db.Database.Connection.ConnectionString);
しかし、最初にデータベースを実行すると、データベースが利用できません。エンティティ フレームワークで使用されているデータベース接続文字列を (実行時のコードから) 取得するにはどうすればよいですか?
Entity Framework コードを最初に使用すると、次のコードを使用してデータベース接続文字列を取得できます。
var db = new dbContext();
Console.Writeline(db.Database.Connection.ConnectionString);
しかし、最初にデータベースを実行すると、データベースが利用できません。エンティティ フレームワークで使用されているデータベース接続文字列を (実行時のコードから) 取得するにはどうすればよいですか?
コード:
var db = new dbContext();
Console.Writeline(db.Database.Connection.ConnectionString);
常に動作します。そのため、データベースからエンティティ モデルを作成し、DbContext Generator T4 テンプレートを使用した場合でも、それを使用できます。
代わりに ObjectContext API を使用した場合は、これを呼び出す必要があります。
var connection = context.Connection as EntityConnection;
if (connection == null) throw new ...;
var storeConnectionString = connection.StoreConnection.ConnectionString;
...そして、特定の接続文字列プロパティを公開できます。
using System.Data.SqlClient;
internal static string GetDatabaseName()
{
using (var _db = new MyProjectEntities())
{
return new SqlConnectionStringBuilder(_db.Database.Connection.ConnectionString).InitialCatalog;
}
}