mongo c# ドライバーに問題があります。私はそのようなクラスを持っています:
class MongoEntity<T>
{
public ObjectId Id {get; set;}
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
public int Version { get; set; }
public T Entity { get; set; }
}
そして、エンティティをデータベースにシリアル化する際に、次のようなドキュメントがあります。
"_id" : "510654cf33d22e1774d5a2a9",
"CreatedAt" : {
"DateTime" : ISODate("2013-01-28T10:37:02.932Z"),
"Ticks" : NumberLong("634949662229321756")
},
"UpdatedAt" : {
"DateTime" : ISODate("2013-01-28T10:37:02.932Z"),
"Ticks" : NumberLong("634949662229321756")
},
"Version" : 1,
"Entity" : {
"EntityKey" : "tom@gmail.com",
"Password" : "ICy5YqxZB1uWSwcVLSNLcA==",
"Email" : "tom@gmail.com",
"Name" : "Tom Anderson"
}
私が本当に欲しいのは、次のように、ドキュメント内のエンティティ オブジェクトのすべてのプロパティを MongoEntity オブジェクトのプロパティと同じレベルにすることです。
"_id" : "510654cf33d22e1774d5a2a9",
"CreatedAt" : {
"DateTime" : ISODate("2013-01-28T10:37:02.932Z"),
"Ticks" : NumberLong("634949662229321756")
},
"UpdatedAt" : {
"DateTime" : ISODate("2013-01-28T10:37:02.932Z"),
"Ticks" : NumberLong("634949662229321756")
},
"Version" : 1,
"EntityKey" : "tom@gmail.com",
"Password" : "ICy5YqxZB1uWSwcVLSNLcA==",
"Email" : "tom@gmail.com",
"Name" : "Tom Anderson"
エンティティ埋め込みオブジェクトなし。これを最も簡単な方法で実装するにはどうすればよいですか?
PS私が本当に探しているのは、ドライバーの構成またはカスタムシリアライザーの作成、おそらく動的な回避策です。現在のクラス構造を変更したくありません Enteties <-> MongoEntity
助けてくれてありがとう。