如何首先使用实体​​框架数据库获取数据库信息?

时间:2011-04-07 18:35:06

标签: .net entity-framework connection-string entity-framework-4.1 database-first

当我使用Entity Framework codefirst时,我可以使用以下代码来获取我的数据库连接字符串:

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

但是当我先做数据库时,数据库不可用。我如何(从运行时的代码)开始获取实体框架正在使用的数据库连接字符串?

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:8)

...然后可以公开特定的连接字符串属性:

using System.Data.SqlClient;



    internal static string GetDatabaseName()
    {
        using (var _db = new MyProjectEntities())
        {
            return new SqlConnectionStringBuilder(_db.Database.Connection.ConnectionString).InitialCatalog;
        }
    }