Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 70
1

Выбор из массива объектов по свойствам объектов

01.01.2014, 17:44. Показов 1173. Ответов 5
Метки нет (Все метки)

Добрый день прошу помощи в таком вот вопросе есть массив объектов IQueryable<Product> Products в каждом объекте есть 6 свойств, из входных данных есть пять массивов по одному массиву на каждое свойство как можно с помощью linq вбирать все объекты Product свойства которых соответствуют данным в массивах
я делал вот так
C#
1
ViewModel.Products = repository.Products.Where(p => (model.Category == null || p.Category == model.Category) && (model.Brand == null || p.Brand == model.Brand[0]) && (model.QuantityLamp == null || p.Quantity_Lamp == model.QuantityLamp) && (model.CampLamp == null || p.cap_lamp == model.CampLamp) && (model.Color == null || p.Color == model.Color) && (model.PowerLamp == null || p.Power_light_bulbs == model.PowerLamp)).OrderBy(p => p.ProductID).Skip((Page - 1) * PageSaze).Take(PageSaze);
но это только работает когда например (p.Color == model.Color ) где p.Color и model.Color просто строки string а теперь у меня на входе model.Color[] массив как можно выбрать данные из массива IQueryable<Product> Products
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2014, 17:44
Ответы с готовыми решениями:

Применение свойств объектов из следующей формы к свойствам объектов данной формы
Подскажите, как, например, по клику на кнопку присвоить ей рисунок, который присвоен пикчербоксу из...

Выбор объектов возвращает слишком много объектов
Делаю выбор объекта. Рисую объекты: ... GL.InitNames() ... Dim temp As Integer temp = 1...

Доступ к свойствам объектов
Имеется метод, который возвращает несколько объектов вложенных друг в друга. Например в таком виде...

Получить доступ к свойствам объектов из базы
У меня есть таблица, в которой записаны объекты, содержащие некоторые свойства. Я указал для...

5
6231 / 3532 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
01.01.2014, 23:53 2
mato, для начала выложите свой LINQ запрос в нормальном виде, мне лень вникать, что там будет когда я промотаю ползунок на 0.5 км.
0
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 70
02.01.2014, 11:22  [ТС] 3
Переписал
C#
1
2
3
4
5
6
7
8
9
10
ViewModel.Products = repository.Products
      .Where(p => (model.Category == null || p.Category == model.Category)
 && (model.Brand == null || p.Brand == model.Brand[0])
 && (model.QuantityLamp == null || p.Quantity_Lamp == model.QuantityLamp)
 && (model.CampLamp == null || p.cap_lamp == model.CampLamp)
 && (model.Color == null || p.Color == model.Color)
 && (model.PowerLamp == null || p.Power_light_bulbs == model.PowerLamp))
           .OrderBy(p => p.ProductID)
           .Skip((Page - 1) * PageSaze)
           .Take(PageSaze);
0
6231 / 3532 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
02.01.2014, 11:29 4
C#
1
(model.Color == null || model.Color.Contains(p.Color))
И так для всех свойств, если я правильно понял.
1
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 70
02.01.2014, 19:47  [ТС] 5
Видает ошибку (Unable to create a null constant value of type 'System.String[]'. Only entity types, enumeration types or primitive types are supported in this context) дальше в коде когда я пытаюся перебрать получение элементы вот так
C#
1
2
3
4
foreach (var p in Model.Products)
{
    
}
Добавлено через 7 часов 14 минут
Цитата Сообщение от Петррр Посмотреть сообщение
C#
1
(model.Color == null || model.Color.Contains(p.Color))
И так для всех свойств, если я правильно понял.
Спасибо работает, объясни пожалуйста как это работает ????
0
0 / 0 / 0
Регистрация: 18.03.2011
Сообщений: 70
04.01.2014, 21:49  [ТС] 6
Всем спасибо тема закрыта
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2014, 21:49

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как в Xpages обращаться к свойствам объектов
Как при нажатии на button установить свойство Visible объекта Panel или Custom Control равным false...

Как собрать из массива ключей и массива объектов - массив объектов?
Как собрать из массива ключей и массива обьектов - массив объектов? // Массив ключей ; //...

При инициализации массива объектов в одном методе, этот массив объектов не видно в других методах
static public void Load() { BaseObject objs = new BaseObject; //Этот массив!...

Доступ к полям и свойствам объектов которые лежат в ArrayList
Всем привет! Есть класс Apple с методом getWeight. Объекты этого класса лежат в ArrayList. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.