代码之家  ›  专栏  ›  技术社区  ›  Alex

带NoRM的MongoDB中的延迟加载

  •  3
  • Alex  · 技术社区  · 14 年前

    (简体)

    问题:

    public class Question
    {
        public string QuestionID { get; set; }
    
        public string Title { get; set; }
        public string Body { get; set; }
    
        public List<Answer> Answers { get; set; }
    }
    

    回答:

    public class Answer
    {
        public string QuestionID { get; set; }
        public string Body { get; set; }
    }
    

    NoRM 带着这个。

    我的问题是:是否支持延迟加载?或者我可以将其设置为在文档存储上执行延迟加载。。?

    所以请求一个问题,也会得到答案。。? (两个都将是“posts”,存储在MongoDB上的同一集合中)

    2 回复  |  直到 14 年前
        1
  •  7
  •   Gates VP    14 年前

    好吧,“延迟加载”的概念对MongoDB这样的数据库来说基本上是陌生的。查看您的架构: Question List 属于 Answers .

    关系数据库管理系统 “lazy”部分允许您独立于原始列表加载“the list”。实际上有两个查询正在发生,您只是试图延迟第二个查询。

    MongoDB 答案 在问题的内部,所以你的请求 Questions 答案

    请看一下标准样品,以获得更好的示例: http://normproject.org/samples

        2
  •  7
  •   user1401260    11 年前

    我很感激这是一条古老的线索,但其他人可能仍在寻找它(就像我一样)。在MongoDB中,延迟加载是可能的,并且由C驱动程序支持。

    检查以下类:懒散文档和懒散排列

    在编写教程文档时,可以在以下位置找到: http://docs.mongodb.org/ecosystem/tutorial/use-csharp-driver/

    给出的示例与问题非常相似,因为它包含一个嵌套的集合,因此如果需要的话,答案列表可能确实是延迟加载的。

    希望这能帮助别人,

    尼克