在这个项目中有两个sql表。第一个表是Cars,第二个表是Mobiles。这两个表都有一个ExpirationDate字段。我想在一个视图中根据到期日期显示这两个表中的最后10个字段。
public ActionResult Index(int ?page)
{
var result = db.Mercedes.Where(m => m.Username == User.Identity.Name).OrderByDescending(m=>m.CurrentDate);
var result2 = db.Mobiles.Where(m => m.UserName == User.Identity.Name).OrderByDescending(m => m.CurrentDate);
int pageSize = 6;
int pageNumber = (page ?? 1);
return View(result.ToPagedList(pageNumber, pageSize));
}
答案 0 :(得分:1)
您需要做的是重构这两个查询以返回同一个类。
然后组合两个IQueryable集并在第三个组合结果集上执行Take(10)。
示例:
var result = from m in db.Mercedes
where m.Username == User.Identity.Name
orderby m.CurrentDate descending
select new car(){param1 = m.param1/*etc*/};
var result2 = from m in db.Mobiles
where m.Username == User.Identity.Name
orderby m.CurrentDate descending
select new car(){param1 = m.param1/*etc*/};
var combinelist = result.Concat(result2)
.OrderByDescending(m=>m.CurrentDate)
.Take(10)
.ToList();
答案 1 :(得分:0)