首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在现有的SqlConnection中使用ADO.net实体框架?

如何在现有的SqlConnection中使用ADO.net实体框架?
EN

Stack Overflow用户
提问于 2009-02-05 23:50:05
回答 3查看 17K关注 0票数 19
  1. 我有一个使用SqlConnection.
  2. I的现有asp.net网站已添加了ADO.net实体框架。
  3. 我已成功连接到数据库并创建了.edmx文件。
  4. 我能够使用自动生成的连接字符串通过实体框架进行连接。

我希望使用在整个站点中用于实体框架连接的现有SqlConnection对象。

我不希望对将使用ADO.net实体框架的页面使用第二个数据库连接,也不希望将整个站点更改为使用新的实体框架连接字符串。

感谢您能提供的任何帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-02-06 07:00:40

这篇论坛帖子的答案是:

代码语言:javascript
复制
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映射文件的位置-在本例中是当前程序集中嵌入的资源。

票数 23
EN

Stack Overflow用户

发布于 2009-02-06 04:06:31

您可以通过使用生成的接受EntityConnection的ObjectContext的constructor来完成此操作。当您创建EntityConnection时,需要传入您的SqlConnection。

票数 1
EN

Stack Overflow用户

发布于 2009-02-06 05:54:17

安德鲁·彼得斯

谢谢你的回答。

我一直在用System.Data.EntityClient.EntityConnection转啊转。

它就在我的指尖上,但是我似乎不能让MetadataWorkspace参数工作。

这是我找到的最接近的例子(标记为答案的帖子):

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/dd7b1c41-e428-4e29-ab83-448d3f529ba4/

谢谢你的帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/518535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档