выберите только дочернюю коллекцию в linq - PullRequest
0 голосов
/ 26 марта 2020
   List<ContractType> filteredContractTypes = contractTypes.Where(x => x.ContractTypeName == "SUA").ToList();
   List<ContractSubType> contractSubTypes = filteredContractTypes.Select(c => c.ContractSubTypes).ToList();

тип контракта класса имеет коллекцию типов субконтрактов. как я могу выбрать только типы субподрядов в linq?

Я получаю ошибку ниже

> Cannot implicitly convert type 
> 'System.Collections.Generic.List<System.Collections.Generic.IEnumerable<Models.ContractSubType>>'
> to 'System.Collections.Generic.List<Models.ContractSubType>'

1 Ответ

1 голос
/ 26 марта 2020

У вас есть (2D List) Но contractSubTypes - это одномерный список! Вы можете использовать var и затем вы поймете свою ошибку.

var contractSubTypes = filteredContractTypes.Select(c => c.ContractSubTypes).ToList();

или можете использовать SelectMany до Flatten List in LINQ!

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