我有以下代码:
我正在检索基于最新版本的记录列表。但是此代码并不表示要返回的记录数。我可以检查上面的代码是否返回从数据库中检索的任何数量的记录?var predicate = PredicateBuilder.True().And(p => p["_latestversion"] == "1"); predicate = predicate.And(GetDefaultTemplatePredicatesExpression());
if(!string.IsNullOrEmpty(path)) predicate = predicate.And(GetPathPredicateExpression(path)); var results = context.GetQueryable().Where(predicate).OrderByDescending(p=> p.Views).GetResults(); if (results != null) { if (results.Hits.Any()) { return results.Hits.Select(x => x.Document).ToList(); } }
答案 0 :(得分:0)
我不清楚GetResults()
调用将会返回什么(这是您已定义的扩展方法?我无法找到与.NET相关的任何内容框架。),这使得很难对其他任何事情作出坚定的陈述。
我相信你可以分开这条线:
var results = context.GetQueryable<ArticleItem>()
.Where(predicate)
.OrderByDescending(p=> p.Views)
.GetResults();
分为三行:
var query = context.GetQueryable<ArticleItem>()
.Where(predicate)
.OrderByDescending(p=> p.Views);
var count = query.Count();
var results = query.GetResults();
我认为这会给你你想要的。