Dot-Net

如何先用entityframework數據庫獲取數據庫資訊?

  • May 28, 2014

當我使用 Entity Framework codefirst 時,我可以使用以下程式碼來獲取我的數據庫連接字元串:

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;
       }
   }

引用自:https://stackoverflow.com/questions/5585862