繁体   English   中英

通过C#中另一个对象的属性对对象列表进行排序

[英]Ordering a list of objects by another object's property in C#

我们有一个基于邀请用户参加[UserInvite]的事件的系统。

当前,我有一个页面,列出了所有受邀参加活动的用户; 可以按各种属性对它们进行排序,例如“姓氏”(升序和降序)。 一切正常,但现在我需要按UserInvite属性另外排序:DateEdited [再次为asc / desc]。 我一直在使用扩展方法,该方法接受属性名称的字符串作为排序依据,但这不适用于另一个类的属性。

笔记:

  1. UserInvite有一种通过事件和用户获取的方法,该方法始终返回单个UserInvite [如果找不到邀请,则为null]。
  2. 当前的EventID保存在“母版”页面中,因此可以在列出用户的页面上访问

做这个的最好方式是什么?

EventUserInvite是否有路线? 如果是这样,只需走关系。 实际上, 最简单的方法是将该日期重新暴露在Event -即

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

和order by InviteDate -但你也可以使用一个字符串,如“Invite.Date”,并用点分割它-例如, 这里的类似内容IQueryable<T> -虽然它不处理null的时刻。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM