MongDb C#Driver将List成员的空值反序列为空

时间:2017-08-14 21:14:15

标签: mongodb mongodb-.net-driver

我在其中一个应用程序中使用带有c#驱动程序的MongoDB。 我已经在下面定义了一个实体,并定义了类图以强制执行模式。

public class TestEntity
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public List<SomeModel> Properties { get; set; }
}

另外,我已经定义了禁用空数组或空数组/列表序列化的约定。

new ConventionPack { new IgnoreIfNullConvention(true)
conventionPack.Add(new IgnoreEmptyArraysConvention());

一切都按预期工作,但当我使用c#驱动程序查询文档时,我将属性作为空列表而不是null。

Database.GetCollection<TestEntity>("test").Find(filter, findOptions).FirstOrDefault()

例如,如果我有一个如下的testentity文档,当我使用c#驱动程序查询时,“属性”属性将返回为空列表而不是null。

{     “_id”:的ObjectId( “5991be3475f14655406cd301”),     “名字”:“测试”,     “描述”:“测试”    }

我在网上搜索时找不到答案。希望有人能提供帮助。感谢

1 个答案:

答案 0 :(得分:0)

删除约会IgnoreEmptyArraysConvention,查看代码here似乎它创建了一个新的列表实例。