我想设置我的 mongo db poco 模型,以便它们自动检索他们的外国文档,类似于它由 EF 和 nhibernate 处理的方式。
这是我迄今为止提出的解决方案,它有点笨拙但我能做到的最好的:
基本型号:
public class DocumentOwner
{
public virtual ObjectId OwnerID { get; set; }
}
手动检索外文文件的扩展模型:
public class DocumentOwner
{
public MongoDatabase DB { get; set; }
public virtual ObjectId OwnerID { get; set; }
public virtual Individual Owner
{
get
{
return this.DB.GetCollection<Individual>().FindOne(Query<Individual>.EQ(x => x.Id, this.OwnerID));
}
}
这个解决方案的主要问题是我必须手动注入非常笨重的 mongo 数据库实例,如果有办法使用 ninject 注入这个实例会更整洁。如果我能以某种方式使用 MongoDBRef 来检索个人而无需执行手动查询,那就更好了......