如果我们已经开发了自己的ORM框架并且该框架多年来工作正常,那么我们为什么要学习和使用全新的.net技术,LINQ或者Entity Framework或者NHibernate或者CSLA.NET为我们即将推出的软件项目?
注意:新框架需要新的学习和教学努力.
注意:这只是一个类比.
Joh*_*ers 16
顺便说一下,"LINQ"本身就是一种补充你的框架的技术
Fen*_*ton 10
因为你现在拥有的是专有的和未知的......如果你有新的员工,你仍然希望能够有效地开发你的代码.
编写自己的ORM没有任何问题,但实体框架2可能包含一些您没有想到的内容 - 并且整个团队和社区背后都会让它变得更好,而您的代码却变得陈旧(我不是说顺便说一下 - 这只是一个例子.
从个人的角度来看,了解nHibernate是一种可转移的技能.知道CompanyXORM不是.
小智 5
在我工作的地方,我们正好有你这样的情况。我们有一个自 .NET 1.1 时代以来构建的自定义 ORM 框架。
我们一直在逐渐接受新技术。为什么?
因为 .NET 框架现在提供了开箱即用的任何经过大量努力创建的内容。扔掉一大块遗留代码来支持一些 API 调用只会有好处。
LINQ、扩展方法、lambdas 等新的奖励大大提高了工作效率并有助于简化代码。没有任何理由忽视它们。
如果您正在考虑其他 ORM,那么让我告诉您,很多非常有资格的人已经为它们工作过,而且他们很可能比您做得更好。
如果您雇用新人,并且建立在通用框架之上,则更容易让他们尽快提高工作效率。否则,在他们了解您的框架之前,您会遇到很长时间的挫折。
如果您不使用最新的花里胡哨,许多有趣的人将不适合您。或者,如果您设法诱使他们唱歌,您可能无法长时间持有他们。