Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2014, 13:22   #1
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию Linq выбрать значение по имени колонки таблицы

Собственно есть таблица бд, у нее есть колонки, для примера возьмем Column1, Column2, Column3 значения в этих колонках все стринговые. У меня есть процедура в которую передается стринговое название одной из колонок, теперь мне нужно выбрать список значение в linq запросе, зная только имя колоки
Код:
void getList(string colName)
{
//......
from t in db.tmpTbl
select t.(вот здесь как-то подставить colName)
//.........
}
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 20.05.2014, 13:40   #2
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Блин, похоже сработал метод желтого утенка http://lifehacker.ru/2011/11/30/rubber-duck/
на случай если кому пригодится
Код:
void getList(string colName)
{
//......
from t in db.tmpTbl
select new { MyNewCol = t.GetType().GetProperty( colName ).GetValue( t, null ) }
//.........
}
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 20.05.2014, 16:07   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ужас .

Код:
var YourNewListWithDataByColName = db.ExecuteQuery<string>(string.Format("select {0} from tmpTbl", colName));
и эта, с утенком больше не разговаривайте, некрасиво, все смеются

Последний раз редактировалось eval; 20.05.2014 в 16:24.
eval вне форума Ответить с цитированием
Старый 20.05.2014, 16:45   #4
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
и эта, с утенком больше не разговаривайте, некрасиво, все смеются
ну это я образно сказал, после того как пост написал появилась, вот такая мысль. Я когда у PM спрашиваю что-то, а потом мысли вслух и сам нахожу решение, так он мне говорит заведи себе желтую уточку.

Насчет кода, была у меня такая мысль, но вот мне сейчас понадобилось кроме colName еще и ID (статическое название колоки) из таблицы тянуть, тоесть по сути 2 поля - это ID int и colName string. Чтобы ваш код заработал, мне надо будет создать отдельный класс с двумя полями и натравить его на строковый запрос?
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 20.05.2014, 16:57   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

наверное так: ExecuteQuery<KeyValuePair<int, string>>. вощем все решаеться
а то такой рефлекшн, да еще на всех 100500 записях, ух...

Последний раз редактировалось eval; 20.05.2014 в 16:59.
eval вне форума Ответить с цитированием
Старый 20.05.2014, 17:55   #6
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
наверное так: ExecuteQuery<KeyValuePair<int, string>>. вощем все решаеться
а то такой рефлекшн, да еще на всех 100500 записях, ух...
все-таки придется небольшой класс набросать, т.к. этот код не работает, http://stackoverflow.com/questions/6...ss-constructor, но все-равно спасибо за наводку, с рефлекшеном, я думаю, рано или поздно были бы проблемы.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 20.05.2014, 17:58   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
этот код не работает
ну.., век живи век учись..
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программная смена имени колонки в DBGridEh. firephenix Общие вопросы Delphi 13 18.07.2013 08:42
Как выбрать значение из таблицы? Chuikov Microsoft Office Excel 8 27.06.2013 22:11
Условие на колонки таблицы pusik БД в Delphi 8 21.05.2011 04:47
сравнить значение из массива и выбрать значение konrad Microsoft Office Excel 4 15.03.2011 20:40
Выбрать из таблицы наименьшее значение John_chek БД в Delphi 2 14.05.2007 17:17