3

我是一名 asp.net Web 应用程序开发人员,我一直使用带有存储过程的 Enterprise Library DAAB 进行数据访问,具有 4 个单独的层(表示层、自定义类型层、业务逻辑层和数据访问层)。

我的感觉是这种方法浪费了很多时间。

我没有使用过其他访问数据的方法,但肯定有很多方法可以节省开发时间。在搜索时,我读到了这些:

  1. 他们使用存储过程生成整个 DAL 的数据适配器
  2. 具有不同风味的 Linq
  3. 实体框架
  4. 使用 SQLDataSource 和动态数据等数据控件
  5. 其他映射器、代码生成器和实用程序

这么多的选择和我的知识很少,考虑到我的开发可能是快速、可扩展、可重用和符合标准的,我在决定应该采用哪种开发模式时感到困惑。此外,如果我需要使用其他技术,如 silverlight、mvc 框架、服务,我想寻找一种方式,使我的代码库可以与其他技术一起使用。

请指导我并提供帮助。

谢谢

4

3 回答 3

4

对于访问诸如 SQL Server 之类的关系数据库,对象关系映射器 (ORM) 非常有用。在 .NET 空间中,来自 Microsoft 的实体框架和开源 NHibernate 是流行的选择。我强烈建议尝试其中之一。

Entity Framework 在 Visual Studio 中具有拖放式设计器支持,NHibernate 具有更好的基于代码的配置。我建议您尝试这些选项中的哪一个听起来最适合您。

来自企业库和存储过程,您会很快发现这些工具使 CRUD 任务变得多么容易,但是对于更复杂的更新和查询来说,还有一些东西需要学习。

于 2010-08-22T12:43:08.017 回答
3

你已经在用良好的实践做事了。你搬进去的任何东西只会让你知道的事情变得更容易。混合、匹配、使用每个选项。没有什么会伤害你,因为你获得的知识只会让你更有价值。

于 2010-08-22T12:58:02.257 回答
2

有大量模式可供阅读和研究(适配器、存储库、MVP 等)。你必须决定哪一个适合你。听起来您已经通过将业务逻辑与 UI 逻辑和数据访问层分离到单独的层来适当地分层应用程序。编写软件很困难,但您可以更进一步,为您的类定义基本接口层,这样您就不必一遍又一遍地重写相同的接口,然后您可以通过添加可用接口来进一步扩展该接口。那会节省你一些时间。

您还可以查看使用 Microsoft 的MVC# 框架ASP.NET MVC 框架。就您的存储库模式而言,您是否考虑过NHibernate

祝你好运。

于 2010-08-22T12:26:14.363 回答