我们需要在主要 Entity Framework 应用程序的一小部分中使用老式的 ADO 数据库连接。
我们可以在这部分代码中手动指定连接字符串,但考虑到连接字符串已经存在于 App.Config 中,这似乎是多余的。
但是,当我们使用配置管理器检索连接字符串时,它会带来 Entity Framework 使用的所有元数据。
这会导致错误,因为 ADO 无法识别元数据关键字。
如何解析此连接字符串以删除元数据并仅获取纯 ADO 连接字符串?
最佳答案
您可以从 DbContext
获取 DbConnection
实例:
var context = new YourDbContext();
var connection = context.Database.Connection;
当然,您可以从连接中获取连接字符串,但您不需要,因此您可以使用已经存在的连接对象。
这是 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>
关于c# - 在 ADO 中使用 Entity Framework 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676020/