2012-04-04 9 views
2

Ich habe eine Entität aus einer Datenbanktabelle generiert. Dann füge ich eine Eigenschaft mit einer partiellen Klasse hinzu. Diese neue Eigenschaft ist der "Beschreibungs" -Teil einer Eins-zu-Viele-Beziehung. Das Problem ist, dass diese Gruppen von Entitäten wie ein Gazillion und vier Eigenschaften haben.Linq zu Entitäten und benutzerdefinierten Eigenschaften

ich normalerweise etwas verwenden, ähnlich wie:

db.entity.Select(e => e) 

Aber in diesem Fall, weil die neue Eigenschaft nicht Teil der Tabelle ist, kam es leer oder null.

Ich weiß, ich kann dies tun:

db.entity.Select(e => new entityType { field1 = e.field1, field2 = e.field2, etc….}) 

Aber als gesagt ... eine Unmenge Eigenschaften.

Meine Frage ist:

Es gibt einige elegante Möglichkeit, nur den Wert der neuen Eigenschaft zuweisen und lassen Sie Linq den Rest zu füllen?

Etwas wie:

db.entity.Select(e => new entityType { *= e.*, newfield = e.relation.desc}) 

Natürlich, die nicht funktioniert, aber die Idee ist.

Danke!

Edgar.

Antwort

1

Dies ist der Ansatz, den ich normalerweise verwende.

public partial class EntityName 
    { 

     public string NewProp 
    { 

     get {return this.relation.Desc;} 
    } 

    } 

Dann in der Linq-Abfrage Ich werde tun, eine der zugehörige Eigenschaft zu machen ist sicher kommt und ich nicht bekommen, ein ausgewählten n + 1 aufgrund verzögertes Laden.

db.entity.Select(e => e).Include(x => x.relation); 
+0

Danke! das hat den Trick gemacht! – epaulk

Verwandte Themen