公式のC#ドライバを使用してMongo Webアプリケーションを作成しています。C#:getterとsetterの作成を自動化する方法はありますか?
参照を実装するには、参照を手動でフェッチする必要があります。
db.FetchDBRefAs<Topic>(user.Topic);
、新しいものを作成するには:
ので、我々は次のことを行う必要があるトピックをフェッチするために、我々は
class User {
...
public MongoDBRef Topic { get; set; }
}
を持っているとしましょう
user.Topic = new MongoDBRef(TopicsTable, topic._id);
私が決めました仮想プロパティを作成してより便利にする:
[BsonIgnore]
public Topic _Topic
{
get
{
return db.FetchDBRefAs<Topic>(Topic);
}
set
{
CreatedAd = new MongoDBRef(TopicsTable, value._id);
}
}
今、私はこのようにそれを使用することができます:
user._Topic = someTopic;
anotherTopic = user._Topic;
は明らかにそれが参照されるすべてのオブジェクトに対してこれを行うには大きな痛みです。
このプロセスを自動化する方法はありますか?
おかげ
正しい用語を使用していません。それは「仮想的な財産」ではありません。 「仮想プロパティ」は実際には 'public virtual Topic _Topic {...}'という 'virtual'キーワードを持ち、派生クラスでオーバーライドできることを意味します。これは単に「明示的に実装されたプロパティ」または「自動プロパティ」とは対照的に「手動プロパティ」です。 –