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; }