Как инициализировать один список значений класса другому объекту списка классов в контроллере mvc? - PullRequest
0 голосов
/ 31 марта 2019

Я хотел бы получить список некоторого First класса, который уже запрашивается в DAL, поэтому я хочу поместить его в какой-то другой список Second объекта класса на стороне бизнес-логики.

Я попробовал как ниже

List<Second> HitoryList = new List<Second>();

//getting list of data from DAL
var Hitory = _objHitoryDB.GetHitoryId(Id);

HitoryList = ((List<First>)Hitory.Select(
                                        x => new Second()
                                        {
                                            imID = x.imID,
                                            Title = x.Title,
                                            Desc = x.Desc,
                                            CreatedOn= x.CreatedOn
                                        }
                                    ).ToList();

На самом деле, мне нужно вернуться к ActionResult, вернуть еще какой-нибудь список данных второго типа, поэтому я создал массив списков второго типа.

IEnumerable<Second>[] Details = new IEnumerable<Second>[4];

в двух массивах списков 0 и 1 инициализирует один и тот же тип, т. Е. «Список типов второго класса»,

   Details[0] = PersonalInfo;
   Details[1] = OffcInfo;

но в 3-м и 4-м массиве списка нужно инициализировать разные типы классов. Итак, как инициализировать один список значений класса для другого объекта списка классов в контроллере MVC?

1 Ответ

0 голосов
/ 31 марта 2019

Правильно ли я понял, что ваш вопрос: как сопоставить List<First> с List<Second>? Если нет, оставьте комментарий и я исправлю ответ

Вы были на правильном пути в своем первом фрагменте кода. Здесь исправлена ​​и прокомментирована версия:

//getting list of data from DAL, result is IEnumerable<First> or similar (List etc)
var Hitory = _objHitoryDB.GetHitoryId(Id);

//Declare List<Second> variable where we will store result of mapped data
List<Second> HitoryList = null;

//Map First-objects to Second objects with Linq Select: 
HitoryList = ((List<Second>)Hitory.Select(
    x => new Second()
    {
      imID = x.imID,
      Title = x.Title,
      Desc = x.Desc,
      CreatedOn= x.CreatedOn
    }).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...