Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 使用MVC EF读取具有多个表的存储过程结果_Json_Entity Framework_Asp.net Core_Stored Procedures - Fatal编程技术网

Json 使用MVC EF读取具有多个表的存储过程结果

Json 使用MVC EF读取具有多个表的存储过程结果,json,entity-framework,asp.net-core,stored-procedures,Json,Entity Framework,Asp.net Core,Stored Procedures,我搜索过类似的问题,但都是老问题 我试图通过使用存储过程将所有相关表检索到一个表来优化我的工作,以避免多次查询。我想使用这种函数,它返回多个表作为JSON和输出参数,但我不熟悉使用EF的ASP.NET核心MVC。有人能给我指引正确的方向吗?如何读取该输出参数并将其转换为对象?值得一提的是,我想使用表来显示水滴 主表中有一些列,这些列与一些表有关。我想要这些表值,并在一些下拉列表或复选框中显示它们。这不是很难,也许将来有人会问: var parameterReturn1 = new SqlPara

我搜索过类似的问题,但都是老问题

我试图通过使用存储过程将所有相关表检索到一个表来优化我的工作,以避免多次查询。我想使用这种函数,它返回多个表作为JSON和输出参数,但我不熟悉使用EF的ASP.NET核心MVC。有人能给我指引正确的方向吗?如何读取该输出参数并将其转换为对象?值得一提的是,我想使用表来显示水滴


主表中有一些列,这些列与一些表有关。我想要这些表值,并在一些下拉列表或复选框中显示它们。

这不是很难,也许将来有人会问:

var parameterReturn1 = new SqlParameter
            {
                ParameterName = "FirstResult",
                SqlDbType = System.Data.SqlDbType.VarChar,
                Size = -1,
                Direction = System.Data.ParameterDirection.Output,
            };
            var parameterReturn2 = new SqlParameter
            {
                ParameterName = "SecondResult",
                SqlDbType = System.Data.SqlDbType.VarChar,
                Size= -1,
                Direction = System.Data.ParameterDirection.Output,
            };

_context.Database
               .ExecuteSqlRaw("exec test @FirstResult output,@SecondResult output", parameterReturn1, parameterReturn2);

            var h2 = parameterReturn2.Value.ToString();      
            var list= JsonConvert.DeserializeObject<List<YourObj>>(h2);  
CREATE PROCEDURE test2 
@FirstResult NVARCHAR(MAX) OUT, @SecondResult NVARCHAR(MAX) OUT
AS
BEGIN
    SET NOCOUNT ON;

     SELECT @FirstResult =
      (
      SELECT *
        FROM table1
        WHERE customerID = 88164
      FOR JSON AUTO
      );
       SELECT @SecondResult =
      (
      SELECT *
        FROM table2
      
      FOR JSON AUTO
      );
END
GO