【发布时间】:2013-06-05 14:04:57
【问题描述】:
为了清楚起见,按照建议将问题总结在一行中:
我想找出对某个字段具有不同值且相隔不到一周的所有事物(基于另一个字段)
假设我有一个Users 表和一个User 类。
每个User 都有以下字段:
-
SignUpDate非空DateTime字段 -
UserType一个 int 字段,对于这个问题,假设它是1或0
我想选择所有注册时间少于 7 天且用户类型不同的用户。
我当前(悲惨的)尝试包括OrderBy(r=>r.SignUpDate) 和.ToList,这没什么大不了的,因为每两周的用户数量并不多。 (我从重叠的几周中抓取了所有用户并比较了数据)。
但是,我发现我目前的解决方案很差。我不知道解决这个问题的正确方法是什么。
我认为这里的核心问题是我不知道如何在排序后解决 LINQ to Entities 中“选择每两个对应记录”的概念。
非常感谢任何帮助,我对如何在将来不提出自己的问题的情况下解决此类问题感兴趣。
示例输入
SignUpDate UserType
------------------------------------
2008-11-11 1
2008-11-12 0
2008-11-13 0
2008-12-13 0
2008-12-15 1
示例输出
任何有意义的方式表明有问题的对是:
2008-11-11 1
2008-11-12 0
(不同的日子和不同的类型)
和
2008-12-13 0
2008-12-15 1
(相差两天,不同类型)
这是我找到的related SQL solution。
【问题讨论】:
-
只是为了让您入门,这可能会有所帮助:msdn.microsoft.com/en-us/library/dd487052.aspx
-
@RussC 感谢虽然 LINQ to Entities 似乎能够做到
DateTime.Subtract,但我的问题是“找到对某个字段具有不同价值且相隔不到一周的所有事物”。我会澄清的。
标签: c# linq entity-framework linq-to-entities