我目前正在建立一个小型网站,在这里我会记下所出现的问题并回答其他人看到的问题。目前我使用的DAL与here描述的DAL非常相似。现在我一直在研究其他模型,特别是使用Linq2SQL和ADO.net Entries框架的基于linq的模型。我意识到我正在以某种方式将数据访问移动到代码层,因为我当时正在过滤掉例如带有linq查询的toplist。我开始这样做的原因是因为DAL在任何时候都没有真正与DB同步,并且当我在DB中更改某些内容时,可空类型变得不可为空。然后,如果我将表重新导入数据表,我的查询就会丢失。
我的简单问题是,如果你今天要为ASP.net提供一个好的DAL,那会是什么?建议,经验非常受欢迎。
答案 0 :(得分:8)
我个人喜欢 LINQ to SQL 和 ADO.NET Entity Framework 。微软人员也在他们的最新项目中使用这些技术(例如,看看 KOBE 项目)。因此,Microsoft也推荐这两个。
虽然..有时我使用Enterprise Library的数据访问应用程序块和手动DAL编码,当我需要对其功能和实现进行最大程度的控制时。
其他替代方案有:NHibernate,SubSonic,不同的ORM解决方案,例如LLBLGen Pro。
关于这个主题的好书:
相关工具:
答案 1 :(得分:2)
有很多选择,根据您的具体情况,每种选项都可能更好。一些选项包括:
我的默认选择是LINQ to SQL。尽管如此,这完全是个人偏好。很多人都是NHibernate的倡导者。
答案 2 :(得分:0)
我正在使用OPF3作为我当前的项目,主要是因为它对Pervasive.SQL v9.5有很好的支持。支持也很棒。