Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как назвать поля с помощью Dynamic Linq?

Автор вопроса: naspinskiОтветов: 2

У меня есть огромный запрос, который выполняется динамически, но я хочу, чтобы оператор select выводил не имена столбцов, а пользовательские значения. Например, если я выполняю обычный запрос Linq, я могу сделать что-то вроде этого:

var v = from p in db.items select new { name = p.item_name, price = p.item_price };

который даст мне хорошие средства доступа '.name' и '.price'

но если я использую Dyanmic Linq, я могу сделать это:

var v = db.items.Select("new (item_name,item_price)");

работает нормально, но

var v = db.items.Select("new (name=item_name,price=item_price)");

Я получаю сообщение об ошибке: "Нет свойства или поля "имя" в типе "элемент""

Можно ли это сделать?

dynamiclinqdynamic-linq

Ответы

Ответ 1 · рейтинг 4 · naspinski

ок, разобрался, вот что нужно:

var v = db.items.Select("new (item_name as name,item_price as price)");

Ответ 2 · рейтинг 1 · polat aydin

вы также можете попробовать это.

var v = db.items.Select("new(it[\"item_name\"]  as name,it[\"item_price\"] as price)");

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы