3

私はこのコードを持っています

var list = _db.Projects.Where(item => item.Loc =="IN").Select(p => new {id=p.Id, title=p.Title,pc=p.PostalCode });

多くの列を持つプロジェクトテーブル。必要な列を動的にクエリしてデータベースからロードする必要があります。データとともにすべての列をロードする必要はありません。

質問:

  1. linq selectのラムダ式を作成する方法は?
  2. 特定の列、エンティティフレームワークを選択して、データベースでのデータ読み取りを減らす方法は?
4

1 に答える 1

1

C# コンパイラが生成した式を見て、その動作を再現してみてください。

Expression<Func<Project, object>> lambda =
    (Project p) => (object)new {id=p.Id, title=p.Title,pc=p.PostalCode };

このコードがコンパイルされることを願っています。そうでない場合は、必ず修正できます。その後、lambda変数の内容を確認します。

へのキャストobjectは、これをコンパイルするためだけにあることに注意してください。あなたはそれが生産である必要はありません/望んでいません。

于 2013-01-02T13:28:44.707 に答える