Удалить элемент из последнего уровня вложенного списка C # LINQ - PullRequest
0 голосов
/ 26 июня 2019

У меня есть сущность с несколькими уровнями вложенных списков - Есть ли способ удалить элемент с последнего уровня с помощью LINQ (без вложенного foreach) - удалить Дозировка с id = X из силы с id = Y из маршрута с id =Z от наркотиков с id = Q?(предположим, что XYZQ - целые числа). Ниже приведена структура моей сущности.

var entity: List<Drug>;
Drug {
    int id;
    List<Route> routes;
}

Route {
    int id;
    List<Strength> strengths;
}

Strength {
    int id;
    List<Dosage> dosages;
}

Dosage {
    int id;
}

1 Ответ

0 голосов
/ 26 июня 2019

Попробуйте это:

drugList.Where(x => x.id == Q).FirstOrDefault().routes.Where(x => x.id == Z).FirstOrDefault().strengths.Where(x => x.id == Y).FirstOrDefault().dosages.RemoveAt(X);

С Q, Z, Y, X в качестве значений индекса из вашего сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...