Мне нужно немного вдохнуть откуда-то и надеяться, что кто-то сможет помочь.Linq Where Clause - Доступ к имени столбца таблицы
Это связано с предыдущим потоком, который я создал, и хочу, чтобы я смог выполнить поиск автозаполнения в полной таблице данных, то есть все данные из всех столбцов.
Я создал хранимую процедуру, которая сближает элементы автозаполнения и столбцы этих элементы являются производным от т.е.
tblAutoCompleteItems:
Item Column
Item1 Product
Item2 Product
Item3 Product
Red Category1
Green Category1
Blue Category1
Small Category2
Medium Category2
Large Category2
Я отсортированный в текстовом поле автозаполнение и работает отлично. Основываясь на выборе клиента, на этикетке отображается связанный столбец, из которого создается этот элемент (так что клиент может проверить, что они довольны возвратом их поиска). Прекрасный.
Однако сложный бит и бит, в котором мне нужна помощь, отбрасывают другой набор данных на основе критериев, которые они выбрали. Остальные наборы данные ищут что-то вдоль линий ...
tblProductInfo:
Product Category1 Category2
Item1 Red Big
Item2 Red Small
Item3 Blue Small
Например, пользователь autocompletes для «ITEM1», текстовое поле показывает это, а метка показывает 'продукт В качестве альтернативы, пользователь может захотеть выполнить поиск по Категории1, поэтому ищет «Красный», это отображается в текстовом поле, а на этикетке отображается «Категория1»
При просмотре tblProductInfo мне нужно как-то запросить набор данных, чтобы он смотрел на столбец автозаполнения и элемент автозаполнения.
Так что, когда я нажимаю кнопку или что-то еще, linq сначала смотрит на столбец, говорит: «О, я знаю, мне нужно посмотреть на Category1, а затем отбросить что-нибудь с красным в нем» или «ОК, это продукт, Сначала я перейду к столбцу «Продукт», а затем верну данные, связанные с Item1 «
Я борюсь в двух частях (1) Как получить доступ к именам столбцов в таблице и (2) построить где в linq.
Любая помощь, советы или рекомендации с благодарностью получены - даже если это означает, что полная стратегия переосмысливается.
Я использую C#, LINQ и asp.net.
By by by - Я понимаю, что это не идеальный вариант, когда автозаполнение просматривает полный стол, но это из моих рук ... к сожалению.
Почему бы не вернуть IEnumerable и покончить с .ToList(). Кроме того, где просто ожидает логический результат. Вы можете либо сделать другую функцию, которая возвращает логическое значение, и поместить вызов этой функции в ваш адрес. Или вы могли бы использовать? : оператор. –
На самом деле, если вы читаете из реальной базы данных, это, вероятно, лучший (ну, с некоторыми изменениями, см. Мой ответ). Использование оператора?: Просто лишний раз поставит в оператор SQL много запутанных условий. –