【发布时间】:2017-12-22 13:00:03
【问题描述】:
我有两个实体: 博客:
public int Id { get; set; }
public string Name { get; set; }
public List<Post> Posts { get; set; }
帖子:
public int Id { get; set; }
public string Name { get; set; }
public DateTime Published { get; set; }
我有两个视图模型: 博客虚拟机:
public int Id { get; set; }
public string Name { get; set; }
public List<PostVm> Posts { get; set; }
PostVm:
public int Id { get; set; }
public string Name { get; set; }
public DateTime Published { get; set; }
如您所见,它们是相同的。
我只想获取至少 3 篇文章的博客,并且只获取 3 篇最新文章。此外,我想OrderByDescending Post.Published。
对于映射,我使用的是 AutoMapper。
我正在尝试这样的事情,但代码没有按预期工作。
var blogs = _context.Blogs.Include(x => x.Posts)
.Where(x.Posts.Count >= 4)
.ProjectTo<BlogVm>()
.OrderByDescending(x => x.Posts.OrderByDescending(y => y.Published)).ToList();
我收到一条错误消息:
"System.ArgumentException: '至少一个对象必须实现 IComparable。'"
【问题讨论】:
标签: c# asp.net .net entity-framework automapper