Отображение одного ко многим с помощью Dapper (два списка с одним объектом) - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть объект ученика с двумя списками. Я хочу получить список учеников из хранимой процедуры. Как я могу получить список учеников с двумя упомянутыми списками, используя dapper.

publi c class Student {publi c int StudentId {get; набор; }

public string RefNo { get; set; }

public int StudentModeId { get; set; }

public string FullName { get; set; }

public string KnownName { get; set; }

public List<StudentAttachment> StudentAttachments { get; set; }
public List<StudentExpenses> StudentExpenceses { get; set; }

}

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете использовать то, что называется QueryMultiple .

Если вы пытаетесь эффективно вернуть 2 списка из 1 спро c, а затем заполнить их в 2 отдельных списка, вы можете сделать что-нибудь например:

 var parameters = new DynamicParameters();
 parameters.Add("@myParam1", myParam1);
 parameters.Add("@myParam2", myParam2);

 string myQuery = "Your query here";
 var yourFirstList = new List<YourListType>();
 var yourSecondList = new List<YourSecondListType>();

 using (var multi = db.QueryMultiple(myQuery, parameters))
 {
     yourFirstList = multi.Read<YourListType>().ToList();
     yourSecondList = multi.Read<YourSecondList>().ToList();
 }

Вы должны убедиться, что знаете порядок, в котором возвращаются ваши результирующие наборы, чтобы иметь возможность сделать это, т. е. ваш первый список - первый, а второй - ваш второй. тип списка.

...