2

MongoDBおよびC#のドキュメントに対して CRUD 操作を実行しようとしています。意味のある長いプロパティ名を持つ C# の構造化ドメイン エンティティを修正したいと考えていますが、各ドキュメントの各プロパティの名前が MongoDB に保存されるため、それはお勧めできません。これは、プロパティ名がデータベースに重複して保存され、全体のストレージとパフォーマンスに影響を与えるためです。

この問題を克服するために私が考えることができる解決策は、MongoDB とは異なるプロパティ名を C# で使用することです。これは、それらの間のマッピングが必要であることを意味します。これを行うエレガントな方法の 1 つは、次のように C# の属性を組み込むことです。

class Book
{
    [BsonProperty("n")]
    public string Name { get; set; }
    [BsonProperty("a")]
    public string Author { get; set; }
}

この場合、ドキュメントは次のようにデータベースに保存されます。

{ n: "...", a: "..." }

これが MongoDB の C# ドライバーでサポートされているかどうかはわかりません!? 自分で見つけることはできませんが、間違った場所を探していることを望んでいました!

4

1 に答える 1

4

やっと見つけました。

class Book
{
    [BsonElement("n")]
    public string Name { get; set; }
    [BsonElement("a")]
    public string Author { get; set; }
}

そしてこちらが詳細ページです。

于 2013-10-12T08:22:03.823 に答える