我很难对集合类的属性进行除法来过滤间隔。
代码:
B
但是它给static
的时间可以为空,因此该查询无法过滤属性数据并给出执行。
欺骗:
if(sPacketMSItem.DollerPerCarat.HasValue && sPacketMSItem.DollerPerCarat.Value > 0)
filter = filter & Builders<Packet>.Filter.Gte(c => c.NetAmount / c.Weight, sPacketMSItem.DollerPerCarat - 30 )
& Builders<Packet>.Filter.Lte(c => c.NetAmount / c.Weight, sPacketMSItem.DollerPerCarat + 30);
我不明白为什么会这样。请给我一些解释。
注意: 我有复杂的查询。有50个这样的Builder过滤器
sPacketMSItem.DollerPerCarat
,并且过滤器是上一个(除以一)。所以我很难做。 如果您了解我的问题,请进一步向我解释。
编辑:
我已经用这种方式创建了匹配
Unable to determine the serialization information for c => Convert((c.NetAmount / c.Weight), Nullable`1).
现在像这样使用它
filter = filter & Builders<Packet>.Filter.In(c => c.SerialNo, srNo);
它给了我以下错误。 错误:
/Users/lalitdevani/Documents/AasthaSalesWebApi/Aastha/_git/Sales.WebApi/Biz.DAL/MongoRepositoriesCustom/SalesCRMRepository/MarketSheet/MarketSheetRepository.cs(54,54): 错误CS0411:方法的类型参数 无法推断为“ IMongoCollection.AggregateAsync(PipelineDefinition,AggregateOptions,CancellationToken)” 从用法。尝试显式指定类型参数。 (CS0411) (Biz.DAL)
任何帮助将不胜感激。