nhibernate фильтрует список с другим списком объектов - PullRequest
1 голос
/ 26 мая 2011

Я работаю над многогранным движком.

У меня есть 2 типа классов:

ResultProduct
public int Id { get; set; }
public int Name { get; set; }
public int Brand { get; set; }
[...]

и

Brand
public int Id { get; set; }
public int Name { get; set; }
public IList<Product> Product { get; set; }
[...]

У меня естьСписок обоих классов.

  • Список содержит результат моего поиска.
  • Список <Бренд> содержит список бренда.

Моя цель - удалить все Брэнды, которых больше нет в ResultProduct.(с другими критериями).

Как я могу это сделать?

Редактировать:

Спасибо Пектов за ваш ответ.Я хочу удалить все бренды, у которых нет продуктов.

Я нашел другое решение, которое работает.

brands = (from brand in brands
  where (from res in resultSearch select res.Brand.IdBrand).Contains(brand.IdBrand)
  select brand).ToList<Brand>();

Я думаю, что ваше решение приведет к повышению производительности, как вы думаете?

1 Ответ

1 голос
/ 26 мая 2011

Я не уверен, что точно понимаю вопрос, я предполагаю, что вы хотите удалить все элементы в списке брендов, для которых нет товаров в результате. класс

Если это так, вы можете использовать метод RemoveAll следующим образом:

List<ResultProducts> products;
List<Brands> brands;

brands.RemoveAll(x=> !products.Exists(y=>y.brand == x.Id)); //returns only brands that don't appear in the  products list
...