今天推荐哪种数据访问层用于ASP.net?

时间:2009-03-28 10:36:18

标签: asp.net ado.net data-access-layer data-access

我目前正在建立一个小型网站,在这里我会记下所出现的问题并回答其他人看到的问题。目前我使用的DAL与here描述的DAL非常相似。现在我一直在研究其他模型,特别是使用Linq2SQL和ADO.net Entries框架的基于linq的模型。我意识到我正在以某种方式将数据访问移动到代码层,因为我当时正在过滤掉例如带有linq查询的toplist。我开始这样做的原因是因为DAL在任何时候都没有真正与DB同步,并且当我在DB中更改某些内容时,可空类型变得不可为空。然后,如果我将表重新导入数据表,我的查询就会丢失。

我的简单问题是,如果你今天要为ASP.net提供一个好的DAL,那会是什么?建议,经验非常受欢迎。

3 个答案:

答案 0 :(得分:8)

我个人喜欢 LINQ to SQL ADO.NET Entity Framework 。微软人员也在他们的最新项目中使用这些技术(例如,看看 KOBE 项目)。因此,Microsoft也推荐这两个。

虽然..有时我使用Enterprise Library的数据访问应用程序块和手动DAL编码,当我需要对其功能和实现进行最大程度的控制时。

其他替代方案有:NHibernateSubSonic,不同的ORM解决方案,例如LLBLGen Pro


关于这个主题的好书:


相关工具:

  • LINQPad也是学习LINQ的好方法:它预装了书中的200个例子C# 3.0 in a Nutshell。没有更好的方式来体验LINQ和函数式编程的酷感。

答案 1 :(得分:2)

有很多选择,根据您的具体情况,每种选项都可能更好。一些选项包括:

  • LINQ to SQL
  • ADO.NET实体框架
  • NHibernate的
  • 亚音速
  • 手动编写一个:)

我的默认选择是LINQ to SQL。尽管如此,这完全是个人偏好。很多人都是NHibernate的倡导者。

答案 2 :(得分:0)

我正在使用OPF3作为我当前的项目,主要是因为它对Pervasive.SQL v9.5有很好的支持。支持也很棒。