6

Entity Framework コードを最初に使用すると、次のコードを使用してデータベース接続文字列を取得できます。

var db = new dbContext();
Console.Writeline(db.Database.Connection.ConnectionString);

しかし、最初にデータベースを実行すると、データベースが利用できません。エンティティ フレームワークで使用されているデータベース接続文字列を (実行時のコードから) 取得するにはどうすればよいですか?

4

2 に答える 2

12

コード:

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;
于 2011-04-07T18:43:08.960 に答える
9

...そして、特定の接続文字列プロパティを公開できます。

using System.Data.SqlClient;



    internal static string GetDatabaseName()
    {
        using (var _db = new MyProjectEntities())
        {
            return new SqlConnectionStringBuilder(_db.Database.Connection.ConnectionString).InitialCatalog;
        }
    }
于 2014-05-28T13:42:28.580 に答える