c# – 使用NoRM在MongoDB中进行延迟加载
发布时间:2020-12-16 00:14:42 所属栏目:百科 来源:网络整理
导读:我有一个类似的模型: (简化的) 题: public class Question{ public string QuestionID { get; set; } public string Title { get; set; } public string Body { get; set; } public ListAnswer Answers { get; set; }} 回答: public class Answer{ public
我有一个类似的模型:
(简化的) 题: 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. 我的问题是:是否支持延迟加载?或者我可以将其设置为在文档存储上进行延迟加载..? 所以请求一个问题,也检索答案..? 解决方法
好吧,“Lazy Loading”的概念对于像MongoDB这样的数据库来说大多是陌生的.看看你的架构:问题有一个答案列表.
在RDBMS中,“懒惰”部分允许您与原始文件分开加载“列表”.实际上有两个查询发生,你只是想延迟第二个查询. 在MongoDB中,只有一个查询发生.答案内嵌在问题内部,因此您的问题请求会自动包含答案列表. 请查看NORM样本以获得更好的示例:http://normproject.org/samples 基本点是您提供的结构不再是多个表.它只是一个包含嵌入式文档的集合.所以“懒惰加载”的概念实际上是不必要的,因为你不能“懒惰加载”一个查询. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |