【问题标题】:Entity framework 3.5, mapping stored procedure results to custom entityEntity framework 3.5,将存储过程结果映射到自定义实体
【发布时间】:2009-12-14 19:07:42
【问题描述】:

我尝试按照link 将存储过程映射到自定义实体,但是当我这样做时,我无法在 VS 2008 设计器中打开 EDMX 文件。 所以看起来它引起了一些问题。

有谁知道如何将存储过程结果映射到实体框架中的自定义实体?

【问题讨论】:

  • 如果您 (1) 没有准确地解释您在做什么,并且 (2) 没有解释 ,那么没有人可以帮助您解决错误正是 什么不起作用。您引用的博客文章已经很好地回答了您在此处实际提出的问题。由于这对您没有帮助,因此您需要在问题上花费更多精力。根据经验,提出问题所花费的精力永远不要少于您期望别人回答问题所花费的精力。

标签: entity-framework


【解决方案1】:

在 VS2010 和 EF4 中,这非常容易。 当您执行函数导入时,有一个额外的选项可以将集合作为复杂类型返回。更好的是,“添加函数导入”对话框底部有一个功能,它将尝试从存储的 proc 结果集中获取列。最后,它为您提供了基于结果集执行一键式“创建新复合体”类型的选项。看来 EF 团队认为这是一种痛苦,并采取了所有必要的措施来简化它。

我们有一个即将开始的大型项目(大型意味着 30 多名开发人员,需要 2 年多的时间才能完成)。我们正在权衡使用标准 ADO.Net、EntityFramwork 或 LLBLGen 等第 3 方 ORM 的选项。到目前为止,我们看到的是 Entity Framework 4 版本是一个功能更全的 ORM。我对在 VS2008 中使用 EF 持怀疑态度,主要是因为您在这篇文章中讨论的问题 + EF 如何处理 VS2008 版本中的 FK (http://blogs.msdn.com/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx)

【讨论】:

    【解决方案2】:

    按照您提供的相同演练链接,我刚刚成功解决了这个问题。 (我想这个答案适用于在搜索中发现这个未回答问题的任何人。)

    我的问题是我没有正确打开 ssdl 文件。您必须通过右键单击解决方案窗口中的 edmx 文件来打开它->“打开方式”->“xml(文本)编辑器”,否则在进行更改后文件将无法正确构建,您将不会能够看到模型的图形表示。只要您完成他的教程,只编辑文件的 ssdl 部分,它就可以工作。小心点。在 Notepad ++ 等外部程序中打开此文件的 ssdl 部分将不起作用。

    希望对某人有所帮助。我的问题现在是将显示实体查询结果的列表框的 SelectedItem 属性作为参数传递给我的临时 st

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多