C# выдает ошибку при интерпретации значения встроенного документа пустого массива []

Вот информация о моей среде разработки:

MongoDB 3.0.0

MongoDB C# Драйвер версии 1.7.0.4714

Microsoft Visual Studio Professional 2013

.NET Framework 4.0

Вот класс C#, чьи объекты будут использоваться как внедренные документы:

   public class Location
   {
       public double lng { get; set; }
       public double lat { get; set; }
   }

Вот класс C#, используемый для представления дома человека:

   public class House
   {
       public String houseDescription { get; set; }
       public Location locOfHouse  { get; set; }
   }

У нас есть модуль C# API, используемый компонентом мобильного приложения, который установит locOfHouse = []

Это означает, что в Коллекции MongoDB под названием House у нас может быть следующий документ:

{
  "_id" : ObjectId("56c455ee26b49c090019b439"),
  "houseDescription" : "Multi-floor house with elevator and staircase",   
  "locOfHouse" : []
}

В моем приложении C# у меня есть следующий класс сопоставления с BSON

     if (false == BsonClassMap.IsClassMapRegistered(typeof(House)))
        {
            BsonClassMap.RegisterClassMap<House>(cm =>
            {
                cm.AutoMap();
                cm.MapProperty<Location>(c => (Location)c.locOfHouse);

            });

        } 

Тем не менее, веб-приложение C# выдает следующую ошибку при получении вышеупомянутых данных:

An error occurred while deserializing the locOfHouse property of class 
House: Expected a nested document representing the serialized form of a Location 
value, but found a value of type Array instead.

Как мне изменить код моего приложения на C# таким образом, чтобы он не выдавал вышеупомянутую ошибку?

1 ответ

Изменить со списком

public Location locOfHouse  { get; set; }

в

public List<Location> locOfHouse  { get; set; }
Другие вопросы по тегам