我有一个像这样的名为“交易”的集合
{
"approverSpv": {
"id": 176,
"isApproved": true
},
"approverManager": {
"id": 176,
"isApproved": true
}
}
我想阅读那些批准者的
id
。
这是我的课程:
public class ApproverManager
{
public int id { get; set; }
public bool isApproved { get; set; }
}
public class ApproverSpv
{
public int id { get; set; }
public bool isApproved { get; set; }
}
public class Transaction()
{
public ApproverSpv approverSpv { get; set; }
public ApproverManager approverManager { get; set; }
}
然后我尝试了 C# 中的这段代码:
var transactionParts = database.GetCollection<Transaction>("transaction").AsQueryable<Transaction>().ToList();
返回的代码始终显示
id
和ApproverSpv
内的每个ApproverManager
为0,但成功获取isApproved
的实际值:true
或false
。
我可以知道,我在这里错过了什么吗?如何获取
id
内每个Approver
的实际值?
默认情况下,属性名称:
Id
被处理并映射到 MongoDB .NET 中的 _id
。为了防止默认的反序列化,您应该将 BsonNoId
属性应用于您的类。
using MongoDB.Bson.Serialization.Attributes;
[BsonNoId]
public class ApproverManager
{
public int id { get; set; }
public bool isApproved { get; set; }
}
[BsonNoId]
public class ApproverSpv
{
public int id { get; set; }
public bool isApproved { get; set; }
}