新 Web 应用程序的最佳数据访问方法
我正在构建一个新的 Web 应用程序项目,并且对执行数据访问的众多方法感到困惑。我正在对 SQL 进行后端处理,并且有点困惑是使用 LINQ to SQL 还是传统的 ADO.net ?
与 ADO.net 相比,使用 LINQ/SQL 的优点和缺点是什么?
如果是ADO.net,那么检索数据的最佳方式是调用存储过程还是直接调用t-sql代码?
我的问题是在 ASP.NET 中为 Web 应用程序创建 DAL 的最干净、最有效和最专业的方法是什么?
谢谢
I'm building a new web application project and am confused by the numerous methods of performing data access. I'm backending on SQL and a bit confused whether to use LINQ to SQL or trtaditional ADO.net ?
what are the advantages and disadvantages of using LINQ/SQL over ADO.net?
If it is ADO.net,then what is the best way to retrieve data means either calling the stored procedures or directly calling the t-sql code?
My question is what is cleanes and most effiecient and professional way of creating DAL for webapplication in asp.net?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
一对一映射的类
您的(选定的)数据库表 - 这意味着您不必编写繁琐且容易出错的数据访问代码
自己使用 ado.net。
.Skip(page * size).Take(size)
。classes that are 1-to-1 mappings of
your (selected) database tables - this means you don't have to write tedious and error prone data access code
using ado.net yourself.
.Skip(page * size).Take(size)
.最好的方法是 O/RM。小型应用程序 Linq2Sql,大型应用程序 Entity Framework 4 或 NHibernate (Fluent NHibernate)。
从代码中调用 SP 意味着您的应用程序逻辑放置在应用程序代码之外的其他位置。这是一种可行的方法,但目前由于 TDD 的原因越来越不受欢迎。
最好的方法是将 DAL 创建为独立的逻辑层、自己的程序集。
The best way to go is O/RM. Small apps Linq2Sql, larger apps Entity Framework 4 or NHibernate (Fluent NHibernate).
Calling SPs from your code means that your app logic is placed somewhere else than in the app code. It's a way to go but at present less and less popular because of TDD.
The best way is to create DAL into a separated logic layer, own assembly.
毫无疑问我会选择 Linq2Sql。
下载 Linqpad 并试用随附的示例即可开始使用。
I would without doubt go for Linq2Sql.
Download Linqpad and play around with the included samples to get started.
您应该查看一些 ORM 框架,例如 NHibernate:http://nhibernate.info
You should check out some ORM frameworks, like NHibernate: http://nhibernate.info
如果您希望在性能方面实现高效的数据访问,那么没有什么比纯 ADO.NET 更快的了。您可以在这里查看:http://ormbattle.net/。
If you want efficient data access in terms of performance than there is nothing faster than pure ADO.NET. You chan check it out here: http://ormbattle.net/.