我有两个实体:
博客:
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; }
我有两个视图模型:
BlogVm:
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:'至少一个对象必须实现
可比。”
参考方案
目前,您要它按每个博客的已排序帖子对Blog
进行排序,这...毫无意义。您也许可以按Blog
的最新发布日期对其进行排序,并分别按其发布日期的降序对每个Blog
的.Posts
进行排序?
var blogs = _context.Blogs.Include(x => x.Posts)
.Where(x.Posts.Count >= 4)
.ProjectTo<BlogVm>()
.OrderByDescending(x => x.Posts.Max(y => y.Published)).ToList();
foreach(var blog in blogs) {
blog.Posts.Sort((x,y) => y.Published.CompareTo(x.Published));
}
如何使用ASP.NET ViewState使用JavaScript - c#我的页面中有UL,它为空。我开始使用JavaScript使用LI填充它。在回发阶段如何在asp.net中使用此新添加的动态数据?那是因为我的提交按钮是asp.net控件。我不想使用JS POST。谢谢 参考方案 我过去通过在隐藏字段中填充要发布的动态数据来完成此类操作,您可以-在回传之前触发JavaScript事件,该事件将数据从UL解析到隐藏字段中要么更新…
.Net LINQ-使用其他字典过滤字典 - c#我有两个相同类型的字典,A和B。Dictionary<string, IEnumerable<object>> 我使用对象来表示具有属性“ Id”的复杂类型。我正在寻找A中具有B中存在的对象(使用Id)但在另一个键下的所有项目。基本上是要判断对象是否已移动键。 A是新字典,B是旧字典。有没有使用LINQ完成此操作的合理方法?我希望结果…
如何从.Net DLL获取公共出口列表? - c#我可以使用“ dumpbin”和“ dll export”之类的工具来查看标准win32 DLL的公共入口点(“ exports”),例如Windows \ SYSTEM32 \ GDI32.dll。但是,当我在.Net DLL上使用这些相同的工具时,我看到的仅仅是 2000 .reloc 2000 .rsrc 48000 .text 我有一个C#/。Net…
将asp.net c#变量分配给javascript数组 - c#我有2个工作部分的代码,需要将它们放在一起第1节-用户可以访问页面,查看和编辑数据库的内容,其中包括新闻文章,标题,相关链接等,我设法使其正常工作并将数据保存到数据库中第2条-该网站首页上的javascript新闻滚动器会写出一系列div,然后使用javascript和CSS对其进行旋转,使其看起来像在滚动,同样可以。新闻文章是从首页上硬编码的数组中提取的问…
如何在ASP.NET Core Web应用程序中增加JSON反序列化MaxDepth限制 - c#我们正在将ASP.NET Core 2.1与.NET Framework 4.6.2结合使用。我们有一个客户需要向我们的Web应用程序发送一个很大程度上嵌套的json结构。当他们进行此调用时,我们将输出以下日志并返回错误: 读取器的MaxDepth超过了32。路径“ super.long.path.to property”,第1行,位置42111。”我浏览了…