电子商务网站的ORM有哪些好的选择?

时间:2008-11-25 19:57:19

标签: database .net-3.5 orm c#-3.0

我正在使用C#3.0 / .NET 3.5并计划建立一个电子商务网站。

我见过NHibernate,LLBLGEN,Genome,Linq to SQL,Entity Framework,SubSonic等。

我不想手工编写所有代码。如果存在一些特定的瓶颈,我将设法优化数据库/代码。

哪种ORM最好?那天有太多可用,我甚至不知道从哪里开始。

我应该使用哪些功能?

欢迎链接,截屏和文档。

4 个答案:

答案 0 :(得分:3)

我一直在使用nHibernate这是一个非常好的免费解决方案。一个缺点是缺乏文档,导致一个略微陡峭的加速时间。但是一旦你掌握了基础知识,它就会加速开发。

我喜欢Fluent nHibernate,可以在没有xml文件的情况下进行配置。我建议的一件事是从您的应用程序中抽象出您的数据访问。这种方式你应该选择错误,你不必担心重新编码应用程序层。

答案 1 :(得分:1)

我只能说LINQ-SQL,可以说它是:

  • 易于使用
  • 快速启动并运行
  • 适用于简单的模式和对象模型

但如果:

,它会开始下降
  • 您正在使用断开连接(分层)架构,因为它的datacontexts需要相同的对象实例来执行跟踪和并发(尽管有很多方法)。
  • 您有一个复杂的对象模型/数据库
  • 另外还有其他一些琐事和奇怪的行为

我希望自己尝试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非常好的东西,但没有使用它。