以下是有关我的开发环境的信息:
MongoDB 3.0.0
MongoDB C# 驱动程序版本 1.7.0.4714
微软视觉工作室专业版 2013
.NET 框架 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 = []
这意味着在名为 House 的 MongoDB 集合中,我们可以有以下文档:
{
"_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);
});
}
但是,基于 Web 的 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# 应用程序代码?