数据如下图
需要将StartTime在20分钟以内的只选择第一条数据
linq应该怎么写
---------------------------------------
我能想到的就是用Distinct进行去重,但是处理筛选后的结果时报错了
引发 NotSupportedException 异常,并显示以下消息:“无法创建类型为‘EntityType’的常量值。 此上下文中仅支持基元类型(‘如 Int32、String 和 Guid’)。”[Unable to create a constant value of type 'Closure type'. Only primitive types ('such as Int32, String, and Guid') are supported in this context.]
var CheckTime =DateTime.Now.AddMinute(-20); var list = Object.where(it=>it.StatrtTime>CheckTime) .where(it=>it.StatrtTime<DateTime.Now) .FirstOrDefault();
你连LINQ代码咋写的都不舍得贴出来啊。
1 testlist.Where(x => (x.EndTime - x.StartTime).Hours < 20).FirstOrDefault()
楼上的可以尝试, 改一下不是小时,是分钟. 然后days 和 hours 都要加条件<0 仅供参考
上面的where去掉
基础啊,你需要普及
用FirstOrDefault
var data=list.FirstOrDefault(f => (f.EndTime - f.StartTime).Hours < 20);
4楼正解.