MongDb C#驱动程序将列表成员的空值反序列化为空
我在其中一个应用程序中使用MongoDB和c#驱动程序。 我已经定义了一个实体,并且还定义了强制执行模式的类映射。MongDb C#驱动程序将列表成员的空值反序列化为空
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#驱动像下面,我得到的属性为空列表而不是空。例如,如果我有一个testentity文档如下,当我使用c#驱动程序查询“属性”属性返回为空列表而不是null。
{ “_id”:物件( “5991be3475f14655406cd301”), “名”: “测试”, “说明”: “测试” }
当我搜索我找不到答案线上。希望有人能帮忙。谢谢
删除约会IgnoreEmptyArraysConvention
看看代码here它似乎它创建一个新的列表实例。
是的,它是。我没有太注意它,假设它只会影响序列化,而不是反序列化。我猜想复制代码的副作用之一。不管怎么说,还是要谢谢你 ! –
我们之前都做过 –
什么是您使用的IgnoreEmptyArraysConvention会议? –
在这里提到的那个。 https://jira.mongodb.org/browse/CSHARP-765 –