我们即将开始使用sql server 2008在MVC 3上开发应用程序。我们计划在项目中使用ORM工具。我们经历过LLBL,EF等多种工具。 我想帮助决定哪一个更好,更可靠。
由于
答案 0 :(得分:3)
根据我的经验,我将使用实体框架工作,原因有很多:
- 微软正在付出巨大的努力
- 在MVC(视频,文章和教程)中使用它有很多支持
- 与其他ORM相比,易于使用和配置,特别是在使用CodeFirst版本时。
我对新Entity框架用户的建议是运行SQL Profiler并继续观察它,看看代码的效果以及如何优化它会产生更少的SQL语句。
答案 1 :(得分:3)
我们已经使用了Nhibernate和Entity框架,并根据这些经验我会说:
我们选择了Nhibernate。您可以选择不同的方式
答案 2 :(得分:2)
TBH我认为MVC的部分内容并不相关,因为列出的所有工具在MVC中都能正常工作。因此,当您查看要使用的ORM时,您需要查看其他一些因素。你提到了可靠的,只要你没有使用第一版的Entity Framework,所有列出的都是非常可靠的(EF的新版本比第一版有很大改进)。
关于这个问题有很多讨论,但我会抛出一些你可能想要考虑的事情:
我在当前项目中使用EF 4.1。正如我所提到的,我们总是首先设计我们的数据库然后告诉EF基于它生成模型和类,并且以这种方式使用它非常容易。它很有效,它很容易启动和运行,而且我不需要弄清楚如何告诉它我需要更改数据库设计(我的DBA会这样做而我告诉EF将更新添加到模型中,是一个双击操作)。到目前为止,它已被证明非常可靠。
说了这么多,我没有问题,建议你试一试,看看它是否适合你。 Here's a bit of reading on how to get going with this type of setup using the new EF 4.1 generation.
答案 3 :(得分:1)
我的团队在NHibernate方面取得了成功。我喜欢它从POCO / Model First开始,并没有像EF一样加以解决。自动架构更新使我们不必编写大量代码。
此外,如果我们发现错误(因为我们可以在源代码中修复它),我们控制自己命运的事实是一个巨大的优势。