【发布时间】:2012-02-27 14:24:47
【问题描述】:
我有一个包含各种列的表,包括两个 DateTime 列,Start 和 End。
如何在实体框架上编写 linq 查询以查找 持续时间。
我正在寻找这样的结果:2y 3m 2d 6h 4m 58s。
还有三个重要的限制:
- 我无法向 db 添加函数或 sp
- 我无法将新的计算列添加到表中
- 考虑到大量记录的内存使用情况,我无法使用像
foreach这样的循环在内存中执行此操作。
有什么想法吗?
【问题讨论】:
-
不清楚第三点是什么意思。之后你对查询的结果做了什么?您可以添加一个投影以在之后在进程中执行,并且仍然通过数据流式传输。
-
@JonSkeet:我无法在获取数据后使用 linq to object 计算持续时间。
-
为什么不呢?仅将其作为事实陈述是没有帮助的 - 如果您能解释您认为不能解释的为什么,我们或许能够纠正一些误解。或者你可能真的不能,但是我们会理解你为什么不能。
-
...根据大量记录和服务器内存使用情况。
-
@JonSkeet - 如果他想检索持续时间大于 x 的记录,那么他需要计算每条记录的持续时间
标签: c# entity-framework linq-to-entities entity-framework-4.1