我正在尝试获取一组文章/博客的所有年份和月份的列表。
var query = (from article in _session.Query<Article>()
where article.Parent == articleList && article.PublishOn != null
group article by new {article.PublishOn.Value.Year, article.PublishOn.Value.Month}
into entryGroup
orderby entryGroup.Key.Year descending, entryGroup.Key.Month descending
select new ArchiveModel
{
Year = entryGroup.Key.Year,
Month = entryGroup.Key.Month,
Count = entryGroup.Count()
});
return query.ToList();
上面编译但 nHibernate 抛出:
System.NotSupportedException {"NewExpression"}
有没有一种方法可以使用 nHibernate 中的任何其他查询方法来创建此查询?
我确实设法使用 SQL Projects 和 YEAR(date) 让它工作,但是它没有在 SQLlite 中运行。如果可能,我需要它与数据库无关。
最佳答案
如果有人偶然发现这个问题,设法解决这个问题。问题是顺序。取出这个解决了错误:
var query = (from article in _session.Query<Article>()
where article.Parent == articleList && article.PublishOn != null
group article by new { article.PublishOn.Value.Year, article.PublishOn.Value.Month } into entryGroup
select new ArchiveModel
{
Year = entryGroup.Key.Year,
Month = entryGroup.Key.Month,
Count = entryGroup.Count()
});
关于c# - nHibernate 按年和月分组计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754086/