Добавить элемент в список результатов sqlquery - PullRequest
1 голос
/ 25 мая 2020

Я вызываю хранимую процедуру с помощью контроллера.

var insert_query = entities.Database.SqlQuery<Call_Info>("exec [dbo].[insert_call_info] @call_id, @user_id, @call_arrive, @call_end, @info",
                        new SqlParameter("call_id", call_id),
                        new SqlParameter("user_id", u_id),
                        new SqlParameter("call_arrive", call_arrive),
                        new SqlParameter("call_end", call_end),
                        new SqlParameter("info", info)
                        ).ToList();
jsonResult = JsonConvert.SerializeObject(insert_query); // <-- using Newtonsoft.Json

Есть ли способ добавить {'StatusCode':1} в список insert_query или в jsonResult?

Мой текущий json строка:

"{\"call_info_id\":5,\"call_id\":91391,\"user_id\":\"105bdbfb-d65a-42d3-ac79-c1e2575ed243\",\"call_arrive\":\"2020-04-03T21:51:24.797\",\"call_end\":\"2020-04-03T22:04:24.797\",\"info\":\"test\",\"AspNetUser\":null,\"Call\":null}"

Новая json строка должна быть:

"{\"call_info_id\":5,\"call_id\":91391,\"user_id\":\"105bdbfb-d65a-42d3-ac79-c1e2575ed243\",\"call_arrive\":\"2020-04-03T21:51:24.797\",\"call_end\":\"2020-04-03T22:04:24.797\",\"info\":\"test\",\"AspNetUser\":null,\"Call\":null, \"StatusCode\":1}"

1 Ответ

2 голосов
/ 25 мая 2020

Например:

var insert_query = entities.Database.SqlQuery<Call_Info>("exec [dbo].[insert_call_info] @call_id, @user_id, @call_arrive, @call_end, @info",
                        new SqlParameter("call_id", call_id),
                        new SqlParameter("user_id", u_id),
                        new SqlParameter("call_arrive", call_arrive),
                        new SqlParameter("call_end", call_end),
                        new SqlParameter("info", info))
.Select(x => new {
   // Write all the properties that you want from the result
   x.call_info_id,
   x.call_id,
   x.user_id,
   x.call_arrive,
   x.call_end,
   x.info,
   x.AspNetUser,
   x.Call,
   // add the extra field 
   StausCode = 1
})
.ToList();

Или:

foreach(JObject obj in (jsonResult as JArray))
{
   obj["StatusCode"] = 1;
}

Или, если вы можете, проще всего добавить свойство в класс Call_Info

public int SatusCode => 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...