gpt4 book ai didi

entity-framework - 如何将参数从 Entity Framework 传递给存储过程?

转载 作者:行者123 更新时间:2023-12-04 17:39:14 24 4
gpt4 key购买 nike

我想知道如何从 Entity Framework 向存储过程发送参数?提前致谢。

最佳答案

第一个问题是:对于哪个版本 Entity Framework ?? .NET 3.5? .NET 4 ?? .NET 4 中的事情发生了显着变化(和改进!)。

其次:你想做什么:

  • 从数据库中检索行
  • 执行一个没有返回值的存储过程
  • 将实体上的插入/更新/删除操作映射到存储过程??

  • 这是三个完全不同的场景——所以我们需要知道你要做什么。

    另外:只需使用 Google(或 Bing)搜索 - 有 大量 博客文章和教程向您展示如何做到这一点 - 一个快速列表:
  • Entity Framework with .NET 3.5 and VS 2008 SP1
  • Using a Stored Procedure in Entity Framework 4
  • Call Stored Procedure from Entity Framework

  • 以及数以千计的......

    更新:好的,所以您想从数据库中检索数据。在这种情况下,您的步骤是:
  • 转到设计器中的 EF 模型(*.edmx 文件)
  • 右键单击并选择 Update Model from Database
  • 选择要使用的存储过程并通过向导

  • enter image description here

    这将为您的 中的存储过程创建一个条目。物理存储模型。下一个:
  • 转至 Model Browser (查看上面的上下文菜单?它就在 Update Model from Database 下方),导航到存储模型并找到您的过程
  • 右键单击该程序

  • enter image description here
  • 选择 Add Function Import它将“函数”(存储过程)从物理存储模型导入概念模型(基本上是您的实体上下文类)。

  • enter image description here

    在这里,您有四个选择:
  • 您的存储过程可能不会返回任何内容(就像在我的示例中一样)-那么它只是您可以调用的上下文类中的一个方法,它可以执行某些操作
  • 您的存储过程可能会返回一组标量,例如INT 值或其他值的列表 - 在下拉列表中选择适当的值
  • 您的存储过程可能会返回 实体 从您的模型,例如完整 Customer实体 - 在这种情况下,选择最后一个选项并选择要映射到的实体(您的存储过程 必须 返回该实体的所有列,在这种情况下)

  • 或者:
  • 您的存储过程返回一些东西 - 但不仅是标量(不仅仅是 INT),也不是实体 - 在这种情况下,您可以选择第三个选项并定义一个新的复杂类型(一个类)来保存从存储过程返回的结果.

  • 无论你做什么 - 基本上 EF 都会创建一个 方法 在您可以调用的对象上下文类上。您的存储过程需要的任何参数都是 该方法的参数所以你可以很容易地通过,例如字符串,整数等。

    关于entity-framework - 如何将参数从 Entity Framework 传递给存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332013/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com