Asp.net mvc MVC应用中存储库层的查询

Asp.net mvc MVC应用中存储库层的查询,asp.net-mvc,repository-pattern,poco,Asp.net Mvc,Repository Pattern,Poco,我正在使用Razor构建MVC5应用程序 我的应用程序分层如下: UI层:由模型、视图和控制器组成 数据访问层:连接和存储过程类 业务层(服务层) 存储库 我提到。在这里,它使用DAL来存储存储库。但我正在创建一个单独的层 我想知道: 是将存储库作为单独的层还是保留在DAL中 UI层模型保存视图模型。其他型号去哪里?它们是否驻留在存储库层中?这些叫做POCO吗 通常,存储库是访问数据的方法,因此只是DAL的一种实现技术。我会把它们结合起来作为DAL 对于其他模型,我假设您指的是与您的数据项相对应

我正在使用Razor构建MVC5应用程序

我的应用程序分层如下:

  • UI层:由模型、视图和控制器组成
  • 数据访问层:连接和存储过程类
  • 业务层(服务层)
  • 存储库
  • 我提到。在这里,它使用DAL来存储存储库。但我正在创建一个单独的层

    我想知道:

  • 是将存储库作为单独的层还是保留在DAL中
  • UI层模型保存视图模型。其他型号去哪里?它们是否驻留在存储库层中?这些叫做POCO吗
  • 通常,存储库是访问数据的方法,因此只是DAL的一种实现技术。我会把它们结合起来作为DAL
  • 对于其他模型,我假设您指的是与您的数据项相对应的类。它们也应该存在于DAL/存储库层中。它们被称为POCO,因为它们不包含任何实现,只是一个属性列表(普通的旧CLR对象)

  • 我可以保留一个单独的存储库层来实现更好的抽象吗?@RKh抽象是什么?我完全支持抽象,但这两个基本上是相同的,毫无疑问,每次添加一些东西时,您都会对自己进行测试,确定它应该属于哪一个。我不想与DAL混用,因为DAL只包含连接和对存储过程的调用。因此,我想单独保留回购协议。@RKh如果您喜欢这种分离,那么就这样做:)。这些架构“指南”只不过是一个指南。根据不同的需求,您会遇到偏差,因此可以将它们单独保存。不过,给他们起个好名字可能是个好主意。DAL很好,但是除了POCO之外,在Repo中还有什么呢?我计划在Repo中放置接口和CRUD方法。