C# Dapper связь «один ко многим» с использованием универсального подходаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# Dapper связь «один ко многим» с использованием универсального подхода

Сообщение Anonymous »

У меня есть две такие модели

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

public class Teacher
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }

public List Classes { get; set; } = new();
}

public class Class
{
public int Id { get; set;}
public int NumOfStudents { get; set;}
}
У меня также есть хранимая процедура для выбора всех записей.
Моя проблема в том, как использовать dapper с дженериками. В общем случае я использую этот общий метод

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

public List LoadData(string storedProcedure, U parameters, string connectionStringName)
{
var connectionString = GetConnectionString(connectionStringName);

using (IDbConnection connection = new SqlConnection(connectionString))
{
var list = connection.Query(storedProcedure, parameters,
commandType: CommandType.StoredProcedure).ToList();

return list;
}
}
Теперь из-за связи «один ко многим» я пытаюсь использовать этот общий метод, но безуспешно

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

public List LoadMultipleData(string storedProcedure, T parentModel, L childModel, U parameters, string connectionStringName)
{
var connectionString = GetConnectionString(connectionStringName);

using (IDbConnection connection = new SqlConnection(connectionString))
{
var list= connection.Query(storedProcedure,
(parent, child) =>
{
parent.parentModel = child;
return parent;
},
parameters,
commandType: CommandType.StoredProcedure).ToList();

return list;
}
}
Как это правильно сделать?

Подробнее здесь: https://stackoverflow.com/questions/649 ... s-approach
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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