我正在使用他们的官方C#驱动程序编写Mongo Web应用程序.
为了实现引用,必须手动获取它们.
所以我们说我们有
class User {
...
public MongoDBRef Topic { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
要获取主题,我们需要执行以下操作:
db.FetchDBRefAs<Topic>(user.Topic);
Run Code Online (Sandbox Code Playgroud)
并创建一个新的:
user.Topic = new MongoDBRef(TopicsTable, topic._id);
Run Code Online (Sandbox Code Playgroud)
我决定创建一个虚拟属性以使其更方便:
[BsonIgnore]
public Topic _Topic
{
get
{
return db.FetchDBRefAs<Topic>(Topic);
}
set
{
CreatedAd = new MongoDBRef(TopicsTable, value._id);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我可以像这样使用它:
user._Topic = someTopic;
anotherTopic = user._Topic;
Run Code Online (Sandbox Code Playgroud)
显然,对所有引用的对象执行此操作非常痛苦.
有没有办法让这个过程自动化?
谢谢