【问题标题】:MongoDB automatic document relation mapping C#MongoDB自动文档关系映射C#
【发布时间】:2015-12-14 04:13:58
【问题描述】:
在 C# 中是否有任何用于 MongoDB 的框架可以自动映射文档关系?我现在谈论的模型或“模式”纯粹由文档本身定义,而不是由 .Net 中的对象或任何其他外部模式定义。
想想可以自动延迟加载其他文档之间关系的动态对象/bsondocuments。
我有几个想法如何自己解决这个问题,但是如果已经存在任何框架或 BsonDocument 扩展(我打算自己解决这个问题),这将减少增加我正在从事的项目的复杂性的需要。
【问题讨论】:
标签:
c#
mongodb
object-relational-model
【解决方案1】:
这个问题基本上是题外话(“有框架”),但我想挑战这个想法本身:
这将减少增加我正在从事的项目的复杂性的需要。
我认为它只会隐藏复杂性,方法是将其移动到对您的功能或非功能需求一无所知的代码部分。结合一个除了唯一性之外没有任何约束的数据库,这听起来不是一个好主意。
作为一个几乎一般的规则,我建议远离延迟加载,因为它无法判断是否
- 一个操作成本很高(数据库调用)或仅仅是内存查找
- 属性的状态将在访问时获取,或者被缓存,从而对用户隐藏序列化的关键方面。
换句话说:我会远离这个想法,或者将 EF 之类的东西与任何数据库一起使用。如果您不关心序列化,请使用经过充分测试的常见解决方案。