MongoDb C#Driver Builders过滤反序列化异常

时间:2017-03-12 08:32:52

标签: c# mongodb

我有一个属性

的类
  public List<Point> RouteWayPoints { get; set; }

Point - 是一个命名空间System.Windows

的类

当我将此对象保存到Mongo Db中时 - 它可以正常工作。但是,当我尝试从带有构建器过滤器的db中获取它时 - 我有一个例外 反序列化类BusLaneRoutes的RouteWayPoints属性时发生错误:值类System.Windows.Point无法反序列化。

    private IMongoCollection<BusLaneRoutes> _busLaneRoutesCollection;
    var filter = Builders<BusLaneRoutes>.Filter.Eq("RouteId", routeId);
    var result = _busLaneRoutesCollection.Find(filter).FirstOrDefault();

1 个答案:

答案 0 :(得分:0)

MongoDB C#驱动程序不支持反序列化结构。 Point is actually a struct,而不是课程。因此,您会看到此错误。

有一个open bug请求修复,自2014年以来一直没有更新。但是有一个解决方法,如Stack Overflow answer所示,涉及创建自定义序列化程序。