我上课Message

 public DateTime DateCreated {get; set;}
 public int MessageId {get; set;}


我也有课程Activity

public DateTime DateCreated {get; set;}
public int ActivityId {get; set;}


在我的数据库中,我使用EF查询这两个项目:

db.Messages.ToList();
db.Activities.ToList();


我需要获取这两个列表,将它们推入单个列表,然后按DateCreated排序。我可以使用继承使Activity和Message从某个通用的“ Dated”类继承,但是感觉很混乱,尤其是因为这些类已经从其他类继承了。

实现此目的的正确方法是什么?

最佳答案

在这种情况下,您可以使用接口:

public interface IDateCreated
{
  DateTime DateCreated { get; set; }
}


在您的课程中实现此接口,然后您将创建

var list = new List<IDateCreated>();
list.AddRange(db.Messages.ToList());
list.AddRange(db.Activities.ToList());
var result = list.OrderBy(x => x.DateCreated);

关于c# - 按C#中的共享属性对不同对象的列表进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20245524/

10-11 02:10