MongoDB .NET - 将数据绑定到模型类但无法读取整数值

问题描述 投票:0回答:1

我有一个像这样的名为“交易”的集合

{
    "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
的实际值?

c# mongodb model mongodb-.net-driver
1个回答
1
投票

默认情况下,属性名称:

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; }
}
© www.soinside.com 2019 - 2024. All rights reserved.