相关疑难解决方法(0)

Mongo C#驱动程序:反序列化BsonValue

我在mongodb中有一个文档,结构类似于:

{
  "_id": "abcdef01234",
  "Name": "Product A",
  "Dimensions": [
    {
      "Height": 32,
      "Width": 64
    },
    {
      "Height": 16,
      "Width": 32
    },
    {
      "Height": 8,
      "Width": 16
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我还有一个定义为表示维度的类(上面的子文档)

public class Dimension
{
  public int Height { get; set; }
  public int Width { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我以这种方式选择"产品A"文档:

MongoServer srv = MongoServer.Create(myConnStr);
BsonDocument doc = srv["db"]["products"].FindOneById(ObjectId.Parse("abcdef01234"));
BsonValue dimensionsVal = doc["Dimensions"];
Run Code Online (Sandbox Code Playgroud)

现在我有一个名为dimensionsVal的BsonValue,它的类型为BsonArray.我真正想要的是List <Dimension>.如何将dimensionsVal转换为List <Dimension>?

编辑 维度类实际上比我描述的要复杂得多.由于内存问题,我希望将Dimensions与产品分开.我想将产品保留在内存中,但不是(可能是巨大的)维度列表.因此,我不希望将List作为Product类的属性.

.net c# mongodb mongodb-.net-driver

11
推荐指数
2
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

mongodb ×1

mongodb-.net-driver ×1