[英]C# MongoDb Driver - filtering by a nullable property security check
我使用 .Net Core 3.1 和 MongoDB 驱动程序,我有一个方法,我想通过属性查找但该属性可为空。 方法如下:
public async Task<List<MyDataModel>> GetCustomersAsync(IEnumerable<long> ids)
{
var filterDefinition = new FilterDefinitionBuilder<MyDataModel>();
var idsFilter = filterDefinition.In(x => x.Id.Value, mdmIds);
return await this.Table.Find(idsFilter).ToListAsync();
}
事情在 x.Id.Value 上,如果我不执行此操作,则会引发编译错误无法将 lambda 表达式转换为类型 'FieldDefinition<MyDataModel, long> 因为它不是委托类型。
如果我将 id 的类型从 long 更改为 long? 它没有抱怨,但我在这里错过了什么或做错了什么吗?
谢谢
在该过滤器之前,只需添加过滤器,该过滤器将过滤掉所有具有 null 作为 _id 的文档。 我认为它被称为 Ne => filterDefinition.Ne((x => x.Id.Value, null)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.