Задать вопрос
mak_ufo
@mak_ufo

Как выбрать данные правильно с LINQ?

Здравствуйте. Есть такая структура:
class Book
{
   public string Name { get; set; }
   public string Author { get; set; }
}

class User
{
   public string Name { get; set; }
   public int Age { get; set; }
   public Book[] Books;
}


Пытаюсь выбрать имена всех людей, у которых есть хотя бы одна книга Достоевского вот так:
var us = Users.SelectMany(u => u.Books)
       .Where(b => b.Author == "Достоевский")
       .Distinct()
       .Select(b => b.Name);


Но получаю только имена книг. Как исправить?
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Простой Комментировать
Решение пользователя Александр Юдаков К ответам на вопрос (2)
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Users
    .Where(u => u.Books
    .Any(b => b.Author == "Достоевский"))
    .Select(u => u.Name)
Ответ написан
Комментировать