2016-12-09 3 views
0

У меня есть два класса DTO в веб-приложении C# MVC, и мне нужно вернуть список, сгенерированный из одного класса, со списком данных, сгенерированным вторым в первом списке. (Подумайте, вложенный массив, например [0 [a, b], 1 [a, b, c], 2 [a, b, c, d], 3, [a] и т. Д.])C# Добавить один результат DTO в другой результат DTO

Это для внутреннего применения, когда сотрудники обучают других своим должностям.

Ниже то, что я до сих пор

 //Abstract code representative of end goal 

     var foo = from x in _fooCtx.Foo 
        where (x.Condition1 && x.Condition2 && x.Condition3 && x.Condition4 > 0) 
        select new Models.ResourceDTO() 
        { 
         FirstName = x.FirstName, 
         LastName = x.LastName, 
         ResourceID = x.ResourceID, 
        }; 



     //currently loops through each memeber of staff in list above and grabs their wamits history. 
     foreach (var foobar in foo) 
     { 
      int foobarID = foo.ResourceID; 

      var bar = from u in _barCtx.BarViews 
           where (u.PupilID == foobarID || u.TeacherID == foobarID) 
           select new Models.ApplicationDTO() 
           { 
            pupilName = u.Pupil, 
            teacherName = u.Teacher, 
            appDate = u.appDate.ToString(), 
            appID = u.ID, 

           }; 

      var leaderList = bar.ToList(); 
     } 

выше работает отлично в получении списка активных сотрудников, а затем пробегает по любым из предыдущих сессий, они, возможно, сделали. Мне нужно вернуть список сотрудников, где каждый член имеет список, сгенерированный вторым выбором DTO в цикле foreach. Таким образом, список данных foo и внутри этого списка данных бара. Если это имеет смысл.

ответ

0

Создание пользовательского DTO

Public class test 
{ 
// add required properties along with list of ApplicationDTO 
// so it will be something like this (getter setters) 

FirstName 

LastName 

ResourceID 

List<ApplicationDTO> 
} 

, то вы можете создать список этого тестового класса и использовать его

PS: это просто пример пример, чтобы помочь вам понять, как можно достичь этого

+0

Спасибо за ваше предложение, однако я не думаю, что это то, что я ищу. У меня уже есть два отдельных класса DTO для ресурса и приложения. Мне нужно добавить результаты, полученные в инструкции foreach, до конца результатов в выборе ResourceDTO. Поэтому возврат foo.ToList() также будет содержать данные приложения, которые мне нужны, против каждого пользователя. –