2017-03-12 7 views
1

フィルタ私は、プロパティを持つクラスMongoDBのC#のドライバのビルダーは、デシリアライゼーション例外

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

ポイントを持っている - 私はモンゴDBにこのオブジェクトを保存する場合、名前空間System.Windows

のクラスである - それは動作します。しかし、ビルダーフィルターを使用してDBから取得しようとすると、例外が発生します。 クラスBusLaneRoutesのRouteWayPointsプロパティを逆シリアル化するときにエラーが発生しました。値クラスSystem.Windows.Pointを直列化復元できません。

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

答えて

0

MongoDBはC#のドライバは、デシリアライズの構造体をサポートしていません。 Pointis actually a struct、クラスではありません。したがって、このエラーが表示されます。

2014年以降に更新されていない修正をリクエストしているopen bugがあります。Stack Overflow answerのように、カスタムシリアライザの作成には回避策があります。

関連する問題