假设您有代表 2 个表的类:A 和 B
public class A
{
public DateTime Date { get; set; }
public string PropA { get; set; }
}
public class B
{
public DateTime Date { get; set; }
public string PropA { get; set; }
}
如果您想将它们一起显示,您需要一个具有所有属性的模型,如下所示:
public class ResultDto
{
public DateTime Date { get; set; }
public string PropA { get; set; }
public string PropB { get; set; }
}
然后将它们放在一起并按日期排序,dbContext 上的查询将如下所示:
var result = _dbContext
.A.Select(a => new ResultDto()
{
PropA = a.PropA,
Date = a.Date,
PropB = null
}).Concat(_dbContext.B.Select(b => new ResultDto()
{
PropA = null,
Date = b.Date,
PropB = b.PropB
}))
.OrderByDescending(r => r.Date)
.ToList();
顺便说一句,由于在 IQuerable 上调用了此 Select,因此您必须选择所有属性(即使它们默认为 NULL)
还有一个我今天回答的类似问题:
Join and sort 2 not related tables