多くのプロパティを持つオブジェクトAがある場合、そのうちの2つだけが必要ですが、不要なデータを転送しない、つまり必要なオブジェクトプロパティを選択してパフォーマンスを向上させることができます名前付きまたは匿名の新しいタイプB。LINQ:特定のオブジェクトのプロパティを同じオブジェクトに選択
ここで、元のオブジェクトAのリストを、たとえば私が必要とする2つのプロパティのみを表示するdatagridviewにバインドしたいとします。元のオブジェクトAのプロパティ名を使ってdatagridviewカラムを作成し、そのデータソースタイプをtypeof(A)に設定しました。私は名前付きまたは匿名のいずれかで、新しい型を定義する必要はありません。このようにして、同じオブジェクトちょうど私が必要としない性質を省略A、すなわち
public class MyObject
{
public string prop1 { get; set; }
public string prop2 { get; set; }
.....
public string propN { get; set; }
}
var list = context.MyObject
.Select(n => new MyObject { prop1 = n.prop1, prop2 = n.prop2 }).ToList();
に選択することができる場合、私は、思っていました。問題は、パフォーマンスで何かを得るか、元の大きなオブジェクトの情報のオーバーヘッドがまだあることです。ただし、すべてのプロパティのデータを転送するわけではありません。
アレックス
ありがとうございました。 –