Теперь, когда я запускаю запрос в Dapper, значения, которые не являются популярными в клиенте и запрашиваемые. GetClientDocumentRequestResponse . Другие свойства этого класса действительно получают значения.
Вот getClientDocumentRequestResponse класс:
Код: Выделить всё
public sealed class GetClientDocumentRequestResponse
{
public int RequestId { get; set; }
public int ClientId { get; set; }
public int RequestedById { get; set; }
public string DocumentName { get; set; } = string.Empty;
public GetDocumentRequestClientResponse Client { get; set; } = new GetDocumentRequestClientResponse();
public GetDocumentRequestClientResponse RequestedBy { get; set; } = new GetDocumentRequestClientResponse();
}
public class GetDocumentRequestClientResponse
{
public int ClientId { get; set; }
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string CompanyName { get; set; } = string.Empty;
}
< /code>
Вот как я запускаю свои Dapper запросы: < /p>
const string sql = $@"SELECT TOP 1
cdr.RequestId,
cdr.ClientId,
cdr.RequestedById,
cdr.DocumentName,
client.ClientId AS Client_ClientId,
client.CompanyName AS Client_CompanyName,
client.FirstName AS Client_FirstName,
client.LastName AS Client_LastName,
requestedBy.ClientId AS RequestedBy_ClientId,
requestedBy.CompanyName AS RequestedBy_CompanyName,
requestedBy.FirstName AS RequestedBy_FirstName,
requestedBy.LastName AS RequestedBy_LastName,
FROM ClientDocumentRequest cdr
LEFT JOIN ClientInfo client ON cdr.ClientId = client.ClientId
LEFT JOIN ClientInfo requestedBy ON cdr.RequestedById = requestedBy.ClientId
WHERE cdr.RequestId = @RequestId
AND cdr.TenantId = @TenantId
;";
var response = (await connection.QueryAsync(
sql,
(cdr, client, requestedBy) =>
{
cdr.Client = client;
cdr.RequestedBy = requestedBy;
return cdr;
},
parameters,
splitOn: "Client_ClientId,RequestedBy_ClientId"
)).FirstOrDefault();
Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-dapper
Мобильная версия