Dapper — сопоставить запрос на соединение с DTO, используя «splitOn»C#

Место общения программистов C#
Ответить
Anonymous
 Dapper — сопоставить запрос на соединение с DTO, используя «splitOn»

Сообщение Anonymous »

Как сопоставить запрос с помощью Dapper с вашим классом DTO по отношению к другому классу DTO?
Имея эту структуру класса DTO:
public class ClassA
{
public string AField1 { get; set; }
public string AField2 { get; set; }
public string AField3 { get; set; }
public ClassB ClassB { get; set; }
}

public class ClassB
{
public string BField1 { get; set; }
public string BField2 { get; set; }
public ClassC ClassC { get; set; }
}

public class ClassC
{
public string CField1 { get; set; }
public string CField2 { get; set; }
}

Это мой запрос с некоторыми JOIN:
SELECT
[a].[a_field_1] AS 'AField1',
[a].[a_field_2] AS 'AField2',
[a].[a_field_3] AS 'AField3',
.[b_field_1] AS 'BField1',
.[b_field_2] AS 'BField2',
[c].[c_field_1] AS 'CField1',
[c].[c_field_2] AS 'CField2',
[d].[d_field_1] AS 'DField1',
FROM
[dbo].[Table_A] AS [a]
LEFT JOIN
[dbo].[Table_B] AS ON [a].[table_a_id] = .[a_id]
LEFT JOIN
[dbo].[Table_C] AS [c] ON .[table_b_id] = [c].[b_id]
LEFT JOIN
[dbo].[Table_D] AS [d] ON [c].[table_c_id] = [d].[c_id]
LEFT JOIN
[dbo].[Table_E] AS [e] ON [d].[table_d_id] = [e].[d_id]

Я пытаюсь следовать примеру, который нашел на веб-сайте документации Dapper, но пока безуспешно.
var query = await sqlConnection.QueryAsync (SqlStatementHelper.ReadSqlStatementFile(SqlStatementFileNames.MyQuery), (classA, classB,
classC) =>
{
classA.ClassB = classB;
classB.ClassC = classC;

return classA;
},
splitOn: "Split on what?");


Подробнее здесь: https://stackoverflow.com/questions/778 ... ng-spliton
Ответить

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

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

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

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

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