在使用EF时,之前有个条件,比如查询日期大于2019-10-11号的所有记录。
如下:Expression<Func<MyNd, bool>> condition = a => a.Date >= "2019-10-11";
最后发现有问题。因此找半天后了解到。正确写法如下:
SQL语句:
1
2
3
4
|
1) select * from TableName where StartTime > '2019-04-08'
2) select * from TableName where StartTime >= '2019-04-08'
3) select * from TableName where StartTime < '2019-04-08'
4) select * from TableName where StartTime <= '2019-04-08'
|
对应的lambda表达式写法:
1
2
3
4
|
1).Where(a => a.StartTime.CompareTo( '2019-04-08' ) > 0)
2).Where(a => a.StartTime.CompareTo( '2019-04-08' ) >= 0)
3).Where(a => a.StartTime.CompareTo( '2019-04-08' ) < 0)
4).Where(a => a.StartTime.CompareTo( '2019-04-08' ) <= 0)
|
更规范的写法:
1
2
3
4
|
1).Where(a => String.Compare(a.StartTime, '2019-04-08' , StringComparison.Ordinal) > 0)
2).Where(a => String.Compare(a.StartTime, '2019-04-08' , StringComparison.Ordinal) >= 0)
3).Where(a => String.Compare(a.StartTime, '2019-04-08' , StringComparison.Ordinal) < 0)
4).Where(a => String.Compare(a.StartTime, '2019-04-08' , StringComparison.Ordinal) <= 0)
|