如何从多个表中的存储过程中检索数据?

时间:2017-11-02 11:13:52

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

我在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);

如何定义代码中的表数据?

那么在这里如何从存储过程中获取代码中的数据不同?

2 个答案:

答案 0 :(得分:0)

首先,在.edmx文件中添加存储过程并为该存储过程创建复杂类型,然后可以使用实体。使用以下链接创建复杂类型

Adding stored procedures complex types in Entity Framework

答案 1 :(得分:0)

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

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