洗牌收集,无法理解如何翻译NewGuid()

时间:2015-01-25 21:52:17

标签: c# .net ravendb

我有以下查询

 var nrOfRetrievedDocs = new List<RetrievedDocs>().Count();
 _docs= RavenSession.Query<DocsToProcess>().Skip(nrOfRetrievedDocs)
          .OrderBy(x=>Guid.NewGuid()).Take(1024).ToList();   

我正在

  

类型&#39; System.InvalidOperationException&#39;的例外情况发生在   Raven.Client.Lightweight.dll但未在用户代码中处理

     

其他信息:无法理解如何翻译NewGuid()

我想要随机播放收集并在随机位置选择1024个对象。

为什么我得到这个Cannot understand how to translate NewGuid()以及如何克服这个问题,是否有更好(更快)的方式来选择集合中的随机项?

1 个答案:

答案 0 :(得分:2)

如果你想做随机排序,你可以直接这样做,而不是像这样:

http://ravendb.net/docs/article-page/3.0/csharp/client-api/session/querying/how-to-customize-query#randomordering

List<Employee> results = session.Query<Employee>()
    .Customize(x => x.RandomOrdering())
    .Where(x => x.FirstName == "Robert")
    .ToList();