DevForce 2010 Top n 查询

DevForce 2010 Top n query

我想从超过 200 万行的 table 中删除重复记录。我有一个 IEntityQuery,它执行分组和计数,并 returning where count() > 1。问题是这个查询也可以 return 超过一百万行。我想使用 DevForce 进行 TOP 100 查询,但我还没有找到执行此操作的方法。我意识到我可以在 Execute() 之后使用 .Take(100),但这需要 returning 所有行然后取 100。我希望查询仅从数据库中 return 100 行.这似乎是一个相当普遍的需求,但到目前为止,我还没有在网络或 IdeaBlade 的网站上找到任何关于如何实现这一点的示例。

谢谢!!!

var query = from log in Manager.Logs
            select logs;

 query
      .Execute()
      .ToList()
      .Take(100);  --Bad for this query--

如果在执行之前执行 Take(),生成的 SQL 将包含 Top 运算符。所以像这样:

var query = from log in Manager.Logs
            select log;
query
      .Take(100)
      .ToList();

如果您的实际查询类型由于分组而更加复杂,您可能需要进行转换才能使用 Take 方法。