views:

357

answers:

1

I have a huge query that is being made dynamically, but I want the select statement to not output the column names, buut custom values. FOr example, if I am doing a normal Linq query, I can do something like this:

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

which will give me the nice '.name' and '.price' accessors

but if I am using Dyanmic Linq, I can do this:

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

works fine, but

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

I get an error: "No property or field 'name' exists in type 'item'"

Can this be done?

+2  A: 

ok, figured it out, this wis what was needed:

var v = db.items.Select("new (item_name as name,item_price as price)");
naspinski
how can you access to those fields? v.name? :s
Cem
yes, whatever you name them
naspinski