簡體   English   中英

如何在 EF Core 5 中使用 JSON output 調用存儲過程

[英]How to call a stored procedure with JSON output in EF Core 5

我有一個帶有 JSON 格式 output 的存儲過程。 您知道 JSON 格式 output 是字符串格式。

數據庫上下文 object 僅返回表類型。

前任:

_context.tableA.FromSqlRaw()

但是我的場景除了字符串沒有任何類型。

如何使用字符串 output 調用此存儲過程並將結果呈現給客戶端?

你必須使用 output 參數

var output = new SqlParameter();
output.ParameterName = "@jsonOutput";
output.SqlDbType =  SqlDbType.NVarChar;
output.Direction = ParameterDirection.Output;

var param1 = new SqlParameter();
output.ParameterName = "@ID";
output.SqlDbType = SqlDbType.Int;


await _context.Database.ExecuteSqlRawAsync(
"EXEC dbo.SpName @ID={0} @jsonOutput={1} OUT", param1,output);

var json =output.Value;

存儲過程

...
SET @jsonOutput = (SELECT ....
    FROM ...
    FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM