【问题标题】:Issue with Adding Stored Procedure in Entity Framework 6.1在 Entity Framework 6.1 中添加存储过程的问题
【发布时间】:2015-06-17 08:22:24
【问题描述】:

我尝试将两个存储过程(仅从视图返回数据)添加到 EDMX 文件。但完成向导后,存储过程不会显示在设计器中。我完全被卡住了,无法理解为什么没有将存储过程添加到设计器中。将存储过程添加到EDMX有什么限制吗?

我正在使用 Visual Studio 2013、Entity Framework 6.1 和 SQL Server 2012

【问题讨论】:

  • 存储过程不会显示在设计器上,因为您只将模型放在那里。存储过程是函数,你应该可以在某个地方找到它们……你可以将存储过程的结果映射到模型的对象,或者让 hem 创建一个自定义对象。
  • 添加存储过程后,您的项目中是否有任何新文件。顺便说一句,使用源代码管理将使这非常容易发现。
  • 谢谢..但即使在模型浏览器中也没有显示存储过程..你能告诉我我需要在哪里看吗?

标签: c# entity-framework c#-4.0 entity-framework-4 edmx-designer


【解决方案1】:

如果存储过程即使在更新后也没有出现在 EDMX 文件中 来自数据库的模型,尝试以下步骤:

  1. 在解决方案资源管理器中双击 EDMX 文件,然后单击模型浏览器* > 函数导入 > 右键单击​​ SP 并编辑。
  2. 在存储过程/函数列信息部分下,单击获取列信息。
  3. 在窗口中单击“创建复杂类型”和“确定”。

保存 EDMX 文件,SP 必须出现在解决方案资源管理器中。

*如果模型浏览器不可见,请转到查看 > 其他窗口 > 实体数据模型浏览器 (VS 2019)

【讨论】:

    【解决方案2】:

    您是否在未选中“导入选定的存储过程并...”选项的情况下尝试了该过程?

    此选项未在 EF4 中列出,在 EF6 中默认处于活动状态。我遇到了同样的问题,但是在添加存储过程时确保没有选中此选项后,问题就解决了。

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      使用模型浏览器。存储过程不会显示为实体。打开 edmx 文件。右键单击模型并选择模型浏览器。另一个视图将包含图表列表、表/视图存储过程/函数等。

      【讨论】:

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