Mongo C # Driver: Deserialize BsonValue

У меня есть документ в mongodb, который структурирован примерно так:

{
  "_id": "abcdef01234",
  "Name": "Product A",
  "Dimensions": [
    {
      "Height": 32,
      "Width": 64
    },
    {
      "Height": 16,
      "Width": 32
    },
    {
      "Height": 8,
      "Width": 16
    }
  ]
}

У меня также есть класс, определенный для представления измерений (вложенный документ сверху)

public class Dimension
{
  public int Height { get; set; }
  public int Width { get; set; }
}

Я выбираю документ «Продукт A» следующим образом:

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

Теперь я есть BsonValue с именем sizesVal и типом BsonArray. Мне действительно нужен List . Как преобразовать sizesVal в List ?

Edit Класс измерения на самом деле значительно сложнее, чем то, что я описал.Я хочу хранить размеры отдельно от продукта из-за проблем с памятью. Я хочу сохранить Продукт в памяти, но не список (потенциально огромный) размеров. По этой причине я не хочу, чтобы список был свойством класса Product.

11
задан Joel Harris 24 November 2012 в 14:23
поделиться