Wenn ich ein Objekt A mit vielen Eigenschaften habe, von denen ich nur ein Paar brauche, kann ich die Leistung steigern, indem ich keine unnötigen Daten übertrage, dh nur die Objekteigenschaften auswähle ein neuer Typ B, entweder benannt oder anonym.LINQ: Wählen Sie bestimmte Objekteigenschaften In dasselbe Objekt
Stellen Sie sich nun vor, ich möchte eine Liste dieser ursprünglichen Objekte A an eine datagridview binden, die nur die paar Eigenschaften anzeigt, die ich möchte. Ich habe die datagridview-Spalten mit den Eigenschaftsnamen des ursprünglichen Objekts A erstellt und seinen Datenquellentyp auf typeof (A) festgelegt. Ich habe mich gefragt, ob ich in das gleiche Objekt A auswählen kann nur die Eigenschaften Weglassen brauche ich nicht, das heißt
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();
Auf diese Weise brauche ich nicht eine neue Art zu definieren, entweder den Namen oder anonym. Die Frage ist, bekomme ich etwas in der Leistung, oder ich habe immer noch den Overhead des ursprünglichen großen Objekts A Informationen, obwohl ich Daten nicht für alle seine Eigenschaften übertrage.
Alex
Vielen Dank für Ihre Antworten. –