查询记录和获取计数的最佳方法

时间:2017-03-23 08:20:15

标签: entity-framework

我正在尝试使用Entity Framework从数据库查询记录。我需要获取记录总数以及实际记录。这样做的最佳方法是什么

public IEnumerable<mFeedback> RetrieveAll(QueryOptions qOptions)
{
    if (qOptions == null)
        throw new ArgumentNullException(nameof(qOptions));

    using (_db)
    {
        var feedback = _db.Feedbacks
            .Where(f => f.isDeleted == false);

        if (qOptions.GetCount)
            qOptions.TotalRecordsCount = feedback.Count();

        feedback = feedback.OrderBy(string.IsNullOrWhiteSpace(qOptions.Sort) ? nameof(eFeedback.CreatedDate) : qOptions.Sort)
            .Skip(qOptions.Skip)
            .Take(qOptions.PageSize);

        return _mapper.Map<IEnumerable<eFeedback>, IEnumerable<mFeedback>>(feedback.ToList());
    }
}

我现有的代码如上所示。这会在DB上产生2次点击。有更好的方法吗?

提前致谢

0 个答案:

没有答案