我在其中一个应用程序中使用带有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”), “名字”:“测试”, “描述”:“测试” }
我在网上搜索时找不到答案。希望有人能提供帮助。感谢