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