无法将BsonIgnoreIfDefault用于long类型的属性

时间:2014-10-28 05:56:28

标签: c# mongodb mongodb-.net-driver

[BsonDefaultValue(0)]
[BsonIgnoreIfDefault]
public long TotalItems { get; set; }

属性 [BsonDefaultValue(0)] 阻止将完整文档插入到mongo中,而我只是想阻止存储TotalItems(如果其值为零)。 如果我不使用属性[BsonDefaultValue(0)],[BsonIgnoreIfDefault],则将文档正确插入数据库,并将TotalItems作为“TotalItems”插入文档:NumberLong(0)“如果它为零,我实际上不想进入db。我的问题为什么[BsonDefaultValue(0)],[BsonIgnoreIfDefault]属性阻止插入完整文档。

注意:我可以使用上述两个属性,类型为int。

1 个答案:

答案 0 :(得分:2)

那里有小错误,您需要将默认值转换为long:

[BsonDefaultValue((long)0)]
[BsonIgnoreIfDefault]
public long TotalItems { get; set; }