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

Sql server 如何从多个表中的存储过程中检索数据?,sql-server,asp.net-mvc,entity-framework,stored-procedures,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 我使用实体框架从存储过程中获取数据,使用以下代码: Modalities context = new Modalities(); context.USP_Sele

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

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

    RETURN 0
我使用实体框架从存储过程中获取数据,使用以下代码:

Modalities context = new Modalities();
context.USP_Select(1);
如何定义代码中包含哪些表数据


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

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


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


您能否只传递一个参数来选择要从中获取数据的表

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

您不能只传递一个参数来选择要从中获取数据的表吗

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

这有用吗?还有,这是你的上下文代码吗?不,这没有帮助。这是数据库优先的方法。也许你可以从这个链接中找到线索:@HumayounKabir这不是帮助。这有帮助吗?还有,这是你的上下文代码吗?不,这没有帮助。这是数据库优先的方法。也许你可以从这个链接中找到线索:@HumayounKabir这没有帮助