MongoDB を使用してドキュメントを C# オブジェクトにデシリアライズしていますが、ObjectID フィールドに問題があります。これは私が得ているエラーです:
クラス MyProject.Data.MyDocument のプロパティ 'LayoutId' に必要な要素 'LayoutId' がありません。
LayoutIdフィールドが指定されているため、どちらが(とにかく奇妙に見えない場合)意味があります。
using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace MyProject.Data
{
public class MyDocument
{
public override ObjectId Id { get; set; }
[BsonRequired]
public String Name { get; set; }
[BsonRequired]
public ObjectId LayoutId { get; set; }
}
}
そして、データベースに入力されます:
シリアライゼーション プロセスの他のどのような側面が、この要素への入力を妨げる可能性があるでしょうか? 特定のバージョンのドライバーにバグはありますか? 正しいデータ型を使用していますか?
また、次の点にも注意してください。
- このドキュメントはデータベースにその値を入力するために使用されたため、逆シリアル化のみが問題であり、シリアル化は問題ないようです。
- 同じライブラリに同じ問題のある他のドキュメントがあります。
- 同じソリューションにmongoドキュメント/コントラクトがありますが、同じ問題を抱えていないように見える別のライブラリにあります。