4

動的に作成されている巨大なクエリがありますが、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' に存在しません」

これはできますか?

4

2 に答える 2

4

わかりました、これが必要だったものです:

var v = db.items.Select("new (item_name as name,item_price as price)");
于 2009-02-11T08:05:09.587 に答える
1

これを試すこともできます。

var v = db.items.Select("new(it[\"item_name\"]  as name,it[\"item_price\"] as price)"); 
于 2012-02-01T12:59:01.583 に答える