我有2个不同的model,我想把他们联合起来,然后再根据条件查询。
Model
public partial class OverviewItems
{
// Videos and Images combined for overview
[NotMapped]
public List<dynamic> Item { get; set; }
}
控制器
public ActionResult LoadItems(int skip = 0, int take = 4)
{
OverviewItems items = new OverviewItems();
// get al the videos an images, order them by creaton date. Take onyly the latest videos/images combined.
var images = db.Images.Where(i => i != null && i.Items != null && i.Items.Count() > 0).OrderByDescending(i => i.CreatedOn).Take(take).Skip(skip) as IEnumerable<object>;
var videos = db.Videos.Where(v => v != null && !string.IsNullOrEmpty(v.Watch_id)).OrderByDescending(v => v.CreatedOn).Take(take).Skip(skip) as IEnumerable<object>;
items.Item.Add(images);
items.Item.Add(videos);
// ViewBag.Items = images.Concat(videos);
return PartialView("OverviewItems", items);
}
Videos 和 images 是EF的实体类。
public partial class Videos : OverviewItems
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[StringLength(250, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 2)]
public string Title { get; set; }
Image和 Vidoes一样继承自OverviewItem,但是有一些不同的属性。
上面的控制器代码不能正常工作,我想问一下,有没有什么好的方法使它们组合起来,再查询。