1

我正在尝试将条件 SortBy 应用于以下查找:

var findFluent = Collection.Find (...)
    .SortBy (record => record.IsActive)
    .SortBy (record => record.Client != null
      ? record.Client.Profile.FirstName 
      : record.Profile.FirstName);

但是,我收到以下错误:

“无法确定 record => IIF((record.Client != null), record.Client.Profile.FirstName, record.Profile.FirstName) 的序列化信息。”

我是否必须在有问题的类之一上添加/实现IBsonDocumentSerializer还是无法执行此操作?

4

1 回答 1

1

我最终只是根据条件中的逻辑添加了一个新的 .SortBy () 子句:

var findFluent = Collection.Find (...)
   .SortBy (record => record.IsActive)
   .SortBy (record => record.Client.Profile.FirstName) 
   .SortBy (record => record.Profile.FirstName);

如果值为 null 或无法评估,驱动程序似乎会忽略排序。

于 2015-07-12T15:09:22.453 回答