Dot-Net
如何先用entityframework數據庫獲取數據庫資訊?
當我使用 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; } }