我有一个带有自定义字段“NewsDate”(DateTimeField)和“Active”(BooleanField)的内容类型“News”
现在我需要通过 NewsDate 获得 3 个活跃的 atimes 订单描述
获取所有新闻,将它们设为 toList() 并从那里操作数据不是解决方案。
PS我需要做类似的事情:
var items = contentManager
.Query(Entities[PageType.Press])
.OrderByDescending<CommonPartRecord, DateTime?>(record => record.PublishedUtc)
.Slice(0, 3);
但不是 PublishedUTC,而是使用我的自定义字段“NewsDate”并添加 Active == true,但是由于 Orchard 架构将自定义数据作为 XML 数据存储在单独的字段中,这是不可能的。
更新: 简而言之,我想从以下查询后面的代码生成:
DECLARE @temp as TABLE(id int, xmldata xml)
INSERT @temp VALUES(1,'<Data><News><NewsDate>07/14/2011 11:42:00</NewsDate><Link Title="" DisplayText="" Link="www.example.com" OpenInNewTab="True">www.example.com</Link></News></Data>')
INSERT @temp VALUES(2,'<Data><News><NewsDate>07/11/2011 12:11:00</NewsDate><Link Title="" DisplayText="" Link="www.example.com" OpenInNewTab="True">www.example.com</Link></News></Data>')
INSERT @temp VALUES(3,'<Data><News><NewsDate>02/21/2012 16:56:00</NewsDate><Link Title="" DisplayText="" Link="www.example.com" OpenInNewTab="True">www.example.com</Link><NewsLink></NewsLink></News></Data>')
SELECT
TOP 3 [id],
[xmldata].value('(Data/News/NewsDate)[1]', 'datetime') as NewsDate
FROM @temp
ORDER BY NewsDate DESC
PS我查看了DynamicContentQueryTests的代码,但是所有示例都使用Part,在我的情况下,字段只是在ContentItem中:例如新闻内容类型包含NewsDate字段(日期时间字段)和一些部分
非常感谢任何建议。