我有点惭愧地说我从未使用过ORM;你可能还记得我的大部分职业经历都是用经典的ASP来进行黑客攻击,而我所做的小.NET往往只是维护。有关.NET ORM看待学习的一些建议
对于我自己的职业生涯以及为工作中的新项目做准备(终于在.NET中完成了!)我正在寻找将ORM添加到我的技能组中 - 作为受虐狂我也是要在我参与此项目时,请看TDD。无论如何,我使用.NET 3.5作为项目(或者计划,反正),所以我正在试图决定我想要选择什么样的ORM;就像我说过的我并不是很熟悉他们,但我通常知道他们应该做什么以及他们是如何做到的。我的选择基本上取决于NHibernate或LINQ/Entity Framework。我没有用过,但是我看过一些LINQ2SQL和NHibernate的演示。我们希望探索更多的内容,NHibernate好像整体上更健壮(Linq2Sql甚至不是“真正的”ORM),也非常适用于ALT.NET社区。然而,EF是微软的产品,因此,大多数开发团队会大量使用EF,他们只是使用微软提供的任何产品,而不会考虑其他选择。
我听说过EF的优点和缺点,但我想挑选一些能给我打下良好基础的东西,以及在其他公司找到更好的工作时,真正的开发团队。
编辑:我应该补充说,如果选择ORM时任何问题,应用程序将不得不处理现有的数据库。
编辑(02/15/2009 6:48 PM):它将使用的唯一数据库是在Windows Server 2003上运行的SQL Server 2005 Standard。鉴于这是用于工作项目,我的目标是挑选一些不需要很长时间才能加快速度的东西(因为我需要提高生产力,“学习新工具”对于管理来说看起来不太好),但是一些东西比滚动我自己的DAL更好。当时我还没有确定应用程序是智能客户端还是ASP.NET应用程序,但其中的一部分很可能会用ASP.NET MVC完成。
我使用它并喜欢它。虽然没有使用NHibernate,所以也许我的参考框架被搞砸了。 – geofftnz 2009-02-15 19:51:38