【发布时间】:2017-06-18 13:24:18
【问题描述】:
我有 2 节课:
public class Store
{
public Guid ID;
public List<Product> Products;
}
public class Product
{
public Guid ID;
public string Name;
}
我想在我的 MongoDB 中保存“Store”,但 我不希望 Store 集合包含“Product”的内容(以节省空间\重复)。 我想创建另一个产品集合,并对匹配的文档使用某种 ID 引用。
MongoDB 2.4.4 c# 驱动程序是否支持此功能而不更改我的模型? (我无法修改它们 - 在 API 调用中使用)。如何实现?
【问题讨论】:
-
请不要使用
DBRef。许多操作根本不支持它。例如$lookup,这是一个核心功能,而不是特定于驱动程序的。 -
@NeilLunn 感谢您的评论,那么我可以使用哪个参考对象?
-
你没有。一般来说,“关系”实际上是要在数据访问层中定义的领域逻辑。有很多方法可以做到这一点,意见也大相径庭。但是,您应该查看核心文档中的"Manual References" 以及我已经给您的
$lookup操作员链接。这应该给你足够的理解。 LINQ 指南中还有一个$lookup示例。
标签: c# mongodb mongodb-query mongodb-.net-driver mongodb-csharp-2.0