我正在使用C#3.0 / .NET 3.5并计划建立一个电子商务网站。
我见过NHibernate,LLBLGEN,Genome,Linq to SQL,Entity Framework,SubSonic等。
我不想手工编写所有代码。如果存在一些特定的瓶颈,我将设法优化数据库/代码。
哪种ORM最好?那天有太多可用,我甚至不知道从哪里开始。
我应该使用哪些功能?
欢迎链接,截屏和文档。
答案 0 :(得分:3)
我一直在使用nHibernate这是一个非常好的免费解决方案。一个缺点是缺乏文档,导致一个略微陡峭的加速时间。但是一旦你掌握了基础知识,它就会加速开发。
我喜欢Fluent nHibernate,可以在没有xml文件的情况下进行配置。我建议的一件事是从您的应用程序中抽象出您的数据访问。这种方式你应该选择错误,你不必担心重新编码应用程序层。
答案 1 :(得分:1)
我只能说LINQ-SQL,可以说它是:
但如果:
,它会开始下降我希望自己尝试EF,MS似乎正在悄悄地放弃LINQ-SQL而转而使用EF,这不是LINQ-SQL的忠告:)
答案 2 :(得分:1)
这取决于数据模型的架构。我可以谈论SubSonic的有效性,因为我正在推出它支持的网络应用程序。
使用SubSonic时,我遇到了JOIN和DISTINCT的问题。两次,我所要做的就是修补源代码并重建DLL。现在,我并不反对这样的事情,但你可能会这样。
除了这两个问题,SubSonic使用起来很愉快。选择非常容易和流动。它与SQL非常接近地映射,就像LINQ一样。此外,SubSonic附带了脚手架功能,应该能够为您预先构建某些页面。我不确定它有多有效,因为我喜欢自己做这些。
另外一件事,选择特定行而不是*是慢的,但仅限于调试模式。一旦你编译发布,它实际上更快。
那是我的两分钱。
答案 3 :(得分:0)
我开始使用Linq to SQL,因为整个linq集成很棒,但是如果你想做Model First而不是Schema First而你想拥有一个丰富的域模型那么nHibernate \ Fluent nHibernate真的是要走的路。我们切换到这个并且比l2s更简单,更好的支持。但是,为了直接将模式拖到dbml代码生成器中,linq to sql非常棒。 我也听说过Mindscape Lightspeed非常好的东西,但没有使用它。