首页 > 解决方案 > 时间:2019-05-01 标签:c#lamba with datetime and between

问题描述

我正在使用版本化表,我想获取特定行的历史记录。我可以在 Sql 中进行查询,但我在使用 Lamba 表达式编写时遇到问题。

SELECT * FROM indexes.folder   
FOR SYSTEM_TIME    
BETWEEN '2014-01-01 00:00:00.0000000' AND '2020-01-01 00:00:00.0000000'   
WHERE id = 27918 ORDER BY ValidFrom; 

标签: c#

解决方案


您应该使用Where()过滤数据和OrderBy()

var id = 27918;
var result = data.Where(i => i.SystemTime >= new DateTime(2014, 1, 1) &&
                             i.SystemTime <= new DateTime(2020, 1, 1) &&
                             i.Id == id)
                 .OrderBy(i => i.ValidFrom);

推荐阅读