不久前,我们开始开发一个新项目,该项目内部有大约 25-30 个不同的类/类型/模型,它们通过 1:n、n:m 或 n:1 关系彼此密切相关。
那时我们使用原生 .net oodbms 系统,主要是因为它允许我们做的是采用我们的对象模型并简单地在这里和那里添加一些与持久性相关的方法(-calls),我们就可以开始了。然而,随着时间的推移,我们遇到了越来越多的警告,非常糟糕、不可修复(在合理的时间范围内)的限制,迫使我们实施缓慢的解决方法,导致性能平庸,可扩展性问题即将出现,许可费用几乎增加了对我们来说是 5 倍,而我们没有任何变化(他们被大公司收购了)。
因此,我们目前开始在可扩展性/性能以及维护方面寻找长期解决方案。我们查看了其他“真正的”oodbms,并且总是遇到主要的破坏者,因此我们开始进一步研究,现在基本上正在考虑 ORM,希望这能让我们将大部分注意力集中在我们的对象上与 SQL 的争吵。
所以基本上这是我的问题:是否有人对 Microsoft 的实体框架或任何其他 .NET ORM 有任何实际经验,可以保持配置尽可能可维护,并在密切/高度相关的实体中表现良好?我们存储的数据量在任何方面都不是惊人的或广泛的(我们预计在未来 3 年内所有实体中总共有 10 万个实例)。
是否有人对 ORM 有任何想法/建议和/或从 oodbms 迁移到 rdbms 的经验?