如何从Entity Framework获取特定于提供者的ConnectionString

时间:2011-05-31 14:33:06

标签: .net entity-framework ado.net connection-string

使用ado.net时我们需要定义一个连接字符串来创建一个sqlconnection对象,如果我们使用实体框架,我们也必须设计一个连接字符串。

是否可以通过任何方式获取实体框架使用的特定提供者连接字符串?

假设最初在ado.net上我们将CS定义为:

"Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"

和Entityframework应该在这样的东西上翻译他们的CS格式,是否有可能获得这个?

我假装知道是否有可能获得由EF生成的特定提供者连接字符串?

如何在sqlserver连接字符串上转换entityframework连接字符串?

2 个答案:

答案 0 :(得分:31)

string entityConnectionString = ...

var builder = new EntityConnectionStringBuilder(entityConnectionString);
string providerConnectionString = builder.ProviderConnectionString;

答案 1 :(得分:4)

找到解决方案:

            System.Data.EntityClient.EntityConnection c = (System.Data.EntityClient.EntityConnection)EFDBcontext.Connection;
            String S = c.StoreConnection.ConnectionString;