我希望使用在整个站点中用于实体框架连接的现有SqlConnection对象。
我不希望对将使用ADO.net实体框架的页面使用第二个数据库连接,也不希望将整个站点更改为使用新的实体框架连接字符串。
感谢您能提供的任何帮助。
发布于 2009-02-06 07:00:40
这篇论坛帖子的答案是:
MetadataWorkspace workspace = new MetadataWorkspace(
new string[] { "res://*/" },
new Assembly[] { Assembly.GetExecutingAssembly() });
using (SqlConnection sqlConnection = new SqlConnection(connectionString))
using (EntityConnection entityConnection = new EntityConnection(workspace, sqlConnection))
using (NorthwindEntities context = new NorthwindEntities(entityConnection))
{
foreach (var product in context.Products)
{
Console.WriteLine(product.ProductName);
}
}
"res://*/“是EF连接字符串的一部分,用于描述xml映射文件的位置-在本例中是当前程序集中嵌入的资源。
发布于 2009-02-06 04:06:31
您可以通过使用生成的接受EntityConnection的ObjectContext的constructor来完成此操作。当您创建EntityConnection时,需要传入您的SqlConnection。
发布于 2009-02-06 05:54:17
安德鲁·彼得斯
谢谢你的回答。
我一直在用System.Data.EntityClient.EntityConnection转啊转。
它就在我的指尖上,但是我似乎不能让MetadataWorkspace参数工作。
这是我找到的最接近的例子(标记为答案的帖子):
谢谢你的帮助。
https://stackoverflow.com/questions/518535
复制相似问题