Чао, я работаю над проектом Web API Core 2 и использую Entity Framework Core 2 с базой данных SQL Azure.
На самом деле
Внутри базы данных SQL Azure у меня есть хранимая процедура, которая возвращает JSON, как вы можете видеть ниже:
CREATE PROCEDURE [dbo].[sp_Procedura]
AS
BEGIN
SET NOCOUNT ON
DECLARE @data NVARCHAR(MAX) =
(SELECT
*
FROM
dbo.Entity
FOR JSON AUTO)
select 0 as 'Id', @data as 'data'
END
На самом деле, чтобы прочитать результат, мне пришлось создать сущность, которая отображает результат и читаетданные со следующим кодом:
string json = myContext
.JsonResult.FromSql("exec dop.sp_Procedura")
.ToList().FirstOrDefault().data;
ниже класса сущности:
public class Entity
{
[Key]
public int Id { get; set; }
public string data { get; set; }
}
Желаемый
Я думаю, что это решение не является полностью чистым,Моя хранимая процедура должна выглядеть следующим образом:
CREATE PROCEDURE [dbo].[sp_Procedura]
AS
BEGIN
SET NOCOUNT ON
SELECT
*
FROM
dbo.Entity
FOR JSON AUTO
END
Имея хранимую процедуру, как и в предыдущем случае, используя EF Core 2.0. Есть ли способ прочитать результат JSON, например, следующий псевдокод?
string json = myContext.FromSql("exec dbo.sp_Procedura").Result;
Спасибо тебе