【问题标题】:How I can retrieve data from stored procedure in multiple table?如何从多个表中的存储过程中检索数据?
【发布时间】:2017-11-02 11:13:51
【问题描述】:

我在 SQL 中有一个存储过程,如下所示:

CREATE PROCEDURE USP_Select
    (@id INT)
AS
    SELECT * FROM EMO;
    SELECT * FROM student WHERE id = @id;
    SELECT * FROM tbl1;

    RETURN 0

我正在使用 Entity Framework 使用此代码从该存储过程中获取数据:

Modalities context = new Modalities();
context.USP_Select(1);

如何定义在我的代码中获取哪些表数据?

那么在这里我怎样才能从存储过程中获取代码中不同表的数据呢?

【问题讨论】:

标签: sql-server asp.net-mvc entity-framework stored-procedures


【解决方案1】:

首先,将您的存储过程添加到 .edmx 文件中,并为该存储过程创建一个复杂类型,然后您就可以使用实体了。使用以下链接创建复杂类型

Adding stored procedures complex types in Entity Framework

【讨论】:

    【解决方案2】:

    你不能只传递一个参数来选择你想从哪个表中获取数据吗?

    CREATE PROCEDURE USP_Select
       @table varchar(50),
       @id INT = NULL
        AS
        BEGIN
    
         IF @table = "EMO" 
         BEGIN 
            SELECT * FROM EMO;
         END
         ELSE IF @table = "student"
         BEGIN
            SELECT * FROM student WHERE id = @id;
         END
         ELSE IF @table = "tal1"
         BEGIN
            SELECT * FROM tbl1;
         END
    
    
    END
    

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      相关资源
      最近更新 更多