【发布时间】:2014-11-11 17:54:42
【问题描述】:
我正在查询一个对象列表,我想返回一个 TimeSpan 的刻度列表,其中包含对象中注册的时间与现在之间的差异。
我想要一个表达,所以:
var list = (from r in res where r.Site == "CNIS"
select Math.Abs((r.Timestamp.Value - DateTime.Now).Ticks)).ToList();
但我收到以下错误:
异常详情: DbArithmeticExpression 参数必须具有数字通用类型
我已经设法解决了。例如,我的代码现在如下所示:
var list = new List<long>();
foreach(var item in (from r in res where r.Site == "CNIS" select r))
list.Add(Math.Abs((item.Timestamp.Value - DateTime.Now).Ticks));
但我真正想知道的是,在单个 LINQ 查询中是否可以获取从 DateTime 值到现在的时间跨度差异
【问题讨论】:
-
此 linq 是对象还是 EF 或 SQL ?
-
res是一个 EF 实体的IQueryable<>...