繁体   English   中英

C# MongoDb 驱动程序 - 通过可空属性安全检查过滤

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM