オブジェクトをシリアル化/逆シリアル化するには、MongoDB ドライバーのクラスにパブリックな読み取りおよび書き込みプロパティが必要であることを理解しています。ただし、書き込みプロパティを残りのコードから非表示にする方法/優先方法があるかどうかを知りたいですか?
例えば。
class Product
{
private List<Release> releases;
public List<Release> Releases
{
get
{
return new List<Release>(releases); //I can protect 'releases' when reading by passing a copy of it
}
set
{
releases = value; //BUT how can I protect release when writing?
}
}
}
MongoDB で型をシリアル化/逆シリアル化できるようにしたいのですが、コードの残りの部分で、それ以外の場合は非公開にする必要があるフィールド/プロパティを上書きできるようにしたくありません。これを処理するパターンはありますか?Product オブジェクトを MongoDB に出し入れするための仲介としてのみ使用される別のクラスを持つことを考えましたProductDoc
が、これに対するより良い解決策があるかどうかはわかりません。