Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带日期时间和介于之间的c lamba_C# - Fatal编程技术网

C# 带日期时间和介于之间的c lamba

C# 带日期时间和介于之间的c lamba,c#,C#,我使用的是一个版本表,我希望获得特定行的历史记录。我可以用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; 大概是这样的: folders.Where(f =&

我使用的是一个版本表,我希望获得特定行的历史记录。我可以用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; 
大概是这样的:

folders.Where(f => f.SystemTime >= beginTime && f.SystemTime <= endTime);
您应该使用Where来筛选数据和OrderBy:


实体框架中还不支持版本表,因此我编写了一个原始SQL查询。

请阅读并了解。如果您选择其中的id=27918,则可能重复,那么还有什么需要订购的吗?这是什么?太令人困惑了。可能是它的副本不是外键。我使用的是一个版本表,所以我想得到FolderyYou也缺少一半的queryUgh的历史记录。“错了,”她说问题是关于日期时间的,不是关于查询的其余部分。@Bas为了完整性,可能仍然值得添加它。是否有人知道使用lamba表达式编写此查询的方法会提出其他建议。当我尝试该查询时,我得到一个错误,即运算符&&不能应用于bool和int类型的操作数。@GreatKhan2016,请参阅编辑-它应该是==而不是=systemTime属性来自何处?我必须把它加入我的课堂吗?
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);