我有一个类似这样的模型: (简化)
问题:
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; }
}
我打算将数据存储在 MongoDB 中,并希望使用 NoRM有了这个。
我的问题是:是否支持延迟加载?或者我可以将它设置为在文档存储上进行延迟加载......?
所以请求一个问题,也检索答案..? (两者都将是存储在 MongoDB 上同一集合中的“帖子”)
最佳答案
好的,“延迟加载”的概念对于像 MongoDB 这样的数据库来说是陌生的。查看您的架构:Question
有一个 List
的 Answers
。
在 RDBMS 中,“惰性”部分允许您加载与原始列表分开的“列表”。实际上有两个查询发生,您只是想延迟第二个查询。
在 MongoDB 中只有一个查询发生。 Answers
嵌入问题内部,因此您对 Questions
的请求会自动包含 Answers
列表。
请查看 NORM 示例以获得更好的示例:http://normproject.org/samples
基本点是你提供的结构不再是多表。它只是一个包含嵌入式文档的集合。所以“延迟加载”的概念真的是不必要的,因为你不能“延迟加载”一个查询。
关于c# - 使用 NoRM 在 MongoDB 中延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989791/