Ste*_*ood 4 c# ado.net entity-framework connection-string
我们需要在主实体框架应用程序的一小部分中使用旧式ADO数据库连接.
我们可以在这部分代码中手动指定连接字符串,但鉴于连接字符串已经存在于App.Config中,这似乎是多余的.
但是,当我们使用配置管理器来检索连接字符串时,它会带来实体框架使用的所有元数据.
这会导致错误,因为ADO无法识别元数据关键字.
如何解析此连接字符串以删除元数据并获取普通的ADO连接字符串?
您可以DbConnection从DbContext以下位置获取实例
var context = new YourDbContext();
var connection = context.Database.Connection;
Run Code Online (Sandbox Code Playgroud)
当然,您可以从连接获取连接字符串,但您不需要这样就可以使用已有的连接对象.
这是快速监视connection对象 - 你可以看到它是带有序数连接字符串的简单ADO.NET SqlConnection对象.

在配置文件中,我有Entity Framework连接字符串和元数据:
<connectionStrings>
<add name="NorthwindEntities"
connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Northwind;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
小智 5
下面应该工作:
var efConn = new System.Data.EntityClient.EntityConnectionStringBuilder(efConnection);
string adoConn = efConn.ProviderConnectionString;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4175 次 |
| 最近记录: |