SiteAzure模板中如何获取模型数据集

作者:动易软件 来源:网络 点击数: 发布时间:2022年05月30日

想要获取模型数据集的时候往往我们直接用列表标签完成,但有些时候当列表标签这种单次循环不能满足我们需要的时候,通常我们会想到使用通用标签(像文章焦点图这类)。

GetList(String, Int32, Int32, Boolean, Boolean, String, Boolean, Expression, Boolean)

GetPicArticle(Int32, Node, Boolean, String, String, String, Boolean)

....

但近期因为系统这些参数变化比较大,属性位置不对话很容易导致报错等调试的麻烦。而且有些运用直接模板上写的话比较方便清晰,譬如循环、统计等。

除了模型服务层这种传参运用,还有另一种通过前台服务层GetAll()这种方式


//获取所有数据

var articles =new ArticleService.GetAll().ToList();


加上查询条件

//获取节点下所有数据集

var articles =new ArticleService.GetAll().Where(x => x.NodeId ==123).ToList();

//获取节点下所有已发布的数据集
var articles =new ArticleService.GetAll().Where(x => x.NodeId == 123 && x.Status == Status.Approve).ToList();


限制输出数量

var articles =new ArticleService.GetAll().Where(x => x.NodeId == 123 && x.Status == Status.Approve).Take(2).ToList();


加上排序

// 根据发布时间倒序。
var articles =new ArticleService.GetAll().Where(x => x.NodeId ==123 ).OrderByDescending(x => x.PublishTime).Take(2).ToList();
// 根据Id正序
var articles =new ArticleService.GetAll().Where(x => x.NodeId ==123 ).OrderBy(x => x.ContentId).Take(2).ToList();


数据量统计

var count =new ArticleService.GetAll().Where(x => x.NodeId ==123 && x.Status == Status.Approve ).Select(x => x.ContentId).ToList().Count();