LINQ: объединить / объединить несколько последовательностей - PullRequest
1 голос
/ 27 апреля 2011

Учитывая следующий класс

public class Entity
{
  public IList<Tag> Tags { get; set; }
}

и в моем хранилище я хочу получить все (отличные) Tag с всех Entity с, есть ли способ сделать это, кроме

public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    List<Tag> tags = new List<Tag>();
    var entities = _session.GetAllEntities();
    foreach (var entity in entities)
    {
      tags.AddRange(entity.Tags);
    }
    return tags.Distinct().ToList();
  }
}

, например

public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    _session.GetAllEntities().Select(x => x.Tags).....Distinct().ToList()
  }
}

1 Ответ

1 голос
/ 27 апреля 2011
public class Repository()
{
  public IList<Tag> GetAllTags()
  {
    var entities = _session.GetAllEntities();
    return entities.SelectMany(e => e.Tags).Distinct().ToList();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...