在sql ce wp7中选择top n

时间:2013-01-18 20:02:29

标签: database linq windows-phone-7 sql-server-ce

我搜索了很多..但我无法在Windows Phone 7的sql compact edition上找到一个很好的链接。

我想要替换简单查询 “从xyztable中选择顶部(n)”

在我的wp7中我写了简单的查询            “来自o in hdc.messages.Take(22)                     其中o.Msisdn == myMsisdn                     订单o.MessageId                     选择o);“

但我没有得到理想的输出..它适用于一些重要的记忆。 它给了我19行但实际上有25行。

所以anyOne可以解释我这样的行为,并替换前n个查询

1 个答案:

答案 0 :(得分:1)

这里有“操作顺序”问题。这段代码:

from o in hdc.messages.Take(22) where o.Msisdn == myMsisdn select o

首先获取22条消息,然后从该子集中选择 o.Msisdn == myMsisdn项检查匹配的消息。这就解释了为什么你要回19行。相反,你想要选择所有o.Msisdn == myMsisdn,然后从中取22。像这样:

(from o in hdc.messages where o.Msisdn == myMsisdn select o).Take(22);