Я занимаюсь разработкой веб-API, где использую Dapper для обработки вызовов SQL.Во-первых, у меня есть следующие 2 модели:
Модель 1 - с этой моделью также связана дочерняя модель в форме «Модель 2»
public int COBID { get; set; }
public string ReportingPoint { get; set; }
public string Issuer { get; set; }
public string Group { get; set; }
public string ACCode { get; set; }
public string SourceSystemTradeID { get; set; }
public char SWWR { get; set; }
public string Error { get; set; }
public Model 2 TradeComment { get; set; }
Модель 2
public int TradeCommentId { get; set; }
public string SourceSystemTradeID { get; set; }
public string SanctionerComment { get; set; }
public string SignOffBy { get; set; }
public bool CompletedFlag { get; set; }
public bool PreApprovedFlag { get; set; }
public bool GenuineWWRFlag { get; set; }
public DateTime CreatedDate { get; set; }
public string CreatedBy { get; set; }
Для моей Update
функциональности у меня есть PROC, который вытягивает все нужные мне поля из нескольких таблиц.Из-за нескольких проблем я не могу показать этот процесс.Тем не менее, функциональность этого процесса хороша, так как он использовался в течение долгого времени.То, что я строю, будет сидеть на вершине.
Наконец-то, для моего грубого вызова, у меня есть следующий метод:
public IEnumerable<TradeDetail> GetRecordDetail(string id)
{
using (var dbConnection = Connection)
{
dbConnection.Open();
return dbConnection.Query<TradeDetail, TradeComment, TradeDetail>("wwr.pMyProc",
(detail, comment) =>
{
detail.SourceSystemTradeID = id;
return detail;
}, splitOn: "TradeCommentId", commandType: CommandType.StoredProcedure);
}
}
И этот метод вызывается моим API следующим образом:
[HttpPut]
public IActionResult Put(string key, string values)
{
var record = _wwrRepository.GetRecordDetail(key);
JsonConvert.PopulateObject(values, record);
if (!TryValidateModel(record))
{
return BadRequest(ModelState.GetFullErrorMessage());
}
return Ok(record);
}
КогдаЯ запускаю test мой код, он говорит мне, что ожидается ожидаемое значение ID, и оно должно быть передано. Я думал, что уже делал это со следующей строкой:
detail.SourceSystemTradeID = id;
Где мой идентификатор взят измой API и перешел к этому методу.
Может кто-нибудь помочь мне правильно отформатировать мой код звонков?