Как назвать поля с помощью Dynamic Linq? - PullRequest
4 голосов
/ 11 февраля 2009

У меня огромный запрос, который выполняется динамически, но я хочу, чтобы оператор 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)");

Я получаю ошибку: "Нет свойства или поля 'name' в типе 'item'" *

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

Ответы [ 2 ]

4 голосов
/ 11 февраля 2009

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

var v = db.items.Select("new (item_name as name,item_price as price)");
1 голос
/ 01 февраля 2012

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

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