在IFindFluent . sortby块中使用条件子句
本文关键字:条件 子句 IFindFluent sortby | 更新日期: 2023-09-27 18:02:26
我正在尝试将条件排序应用于查找,如下所示:
var findFluent = Collection.Find (...)
.SortBy (record => record.IsActive)
.SortBy (record => record.Client != null
? record.Client.Profile.FirstName
: record.Profile.FirstName);
但是,我收到以下错误:
"无法确定记录的序列化信息=> IIF((记录。= null), record.Client.Profile。FirstName, record.Profile.FirstName)。"
我是否必须在问题中的一个类上添加/实现IBsonDocumentSerializer,或者此操作不可能?
最后,我只是根据条件中的逻辑添加了一个新的.SortBy()子句:
var findFluent = Collection.Find (...)
.SortBy (record => record.IsActive)
.SortBy (record => record.Client.Profile.FirstName)
.SortBy (record => record.Profile.FirstName);
如果值为空或不能求值,驱动程序似乎忽略了排序。