2009-06-25 9 views
1

Wir haben ein System, das auf Ereignisse basiert, die Benutzer zu [UserInvite] eingeladen werden.Bestellung einer Liste von Objekten durch die Eigenschaft eines anderen Objekts in C#

Derzeit habe ich eine Seite, die alle zu einem Event eingeladenen Benutzer auflistet; Sie können nach verschiedenen Eigenschaften sortiert werden, z. B. Nachname [aufsteigend und absteigend]. Alles klar und schön, aber jetzt muss ich zusätzlich nach einer UserInvite-Eigenschaft sortieren: DateEdited [erneut asc/desc]. Ich habe eine Erweiterungsmethode verwendet, die eine Zeichenfolge des Eigenschaftsnamens zum Sortieren nach verwendet, aber dies funktioniert nicht für die Eigenschaft einer anderen Klasse.

Hinweise:

  1. UserInvite hat eine Methode von Event- und Benutzer zu erhalten, die immer eine einzige UserInvite zurück [oder null, wenn keine gefunden invite wurde].
  2. Der aktuelle EreignisID in der Master-Seite gehalten wird, so kann man auf der Seite erreicht werden, dass die Benutzer

Was ist der beste Weg, dies zu tun ist, listet?

Antwort

1

Gibt es eine Route von der Event zur UserInvite? Wenn ja, gehe einfach die Beziehung. Eigentlich ist die einfachste Ansatz neu zu belichten dieses Datum auf dem Event - dh

public DateTime InviteDate {get {return Invite.Date;}} // or similar 

und Ordnung von InviteDate - aber Sie können auch eine Zeichenfolge wie „Invite.Date“ verwenden und spaltete es durch Punkte - zum Beispiel, here's etwas ähnliches für IQueryable<T> - obwohl es im Moment null nicht behandelt.

+0

Schöne Antwort +1. –

+0

Die einzige funktionierende Lösung, die ich entwickelt habe, war das Hinzufügen der UserInvite-Eigenschaft in die User-Klasse. – Rich