Результат привязки C# Postgres JsonbC#

Место общения программистов C#
Ответить
Anonymous
 Результат привязки C# Postgres Jsonb

Сообщение Anonymous »

У меня есть запрос ниже, возвращающий некоторый результат json в postgres

Код: Выделить всё

select t.transaction_id,
jsonb_agg(jsonb_build_object('title', t.title, 'created_date', t.created_date, 'created_by', t.created_by))
AS content
from temp_table group by t.transaction_id
У меня есть код С# ниже
публичный класс MainClauseHistoryDto

Код: Выделить всё

{
[JsonProperty("transaction_id")]
public int TransactionId { get; set; }
[JsonProperty("content")]
public List NegotiatedContents { get; set; }
}

public class NegotiatedContent
{
[JsonProperty("created_by")]
public string CreatedBy { get; set; }
[JsonProperty("created_date")]
public DateTime CreatedDate { get; set; }
[JsonProperty("title")]
public string Title{ get; set; }
}
Я хотел бы связать приведенный выше json с NegotiatedContent. На моем уровне DataAccess я вызываю хранимую процедуру и возвращаю вышеуказанные данные в виде DataTable.

Код: Выделить всё

//below code to query db and return dataset.
var result = await _negotiationRepository.GetMainClauseHistoryAsync(IndicationRequestId, ParagraphId);
var mainClauseHistory = result.Tables["main_clause_history_tbl"].ToModelList();
Ниже находится список ToModelList

Код: Выделить всё

public static List ToModelList(this DataTable dt)
{
if(dt?.Rows.Count > 0)
{
var seralizeData = JsonConvert.SerializeObject(dt);
return JsonConvert.DeserializeObject(seralizeData)!;
}
else
return new List();
}
В приведенном выше коде появляется ошибка

Код: Выделить всё

Error converting value \"[{\"created_by\": \"iser1\"
Выше появляется сообщение об ошибке со всем json. Могу ли я узнать, как мы можем связать json напрямую с нашей моделью C#? Любая помощь будет оценена по достоинству. Спасибо

Подробнее здесь: https://stackoverflow.com/questions/788 ... n-b-result
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»