我一直在思考这个问题一段时间,想不出一个可以接受的解决方案。我有一个计划变得非常大的应用程序。因此,我试图使其模块化。它基于MVC4。我还没有决定使用 ORM 或自己映射所有内容。我想有以下结构:
----------------------
| Database
----------------------
| Data/Data Access Layer (Class Library) (Objects reside here)
----------------------
| Core MVC Project (User and Session are stored here)
----------------------
| MVC Modules
我想使UpdatedBy
字段的验证尽可能靠近数据库,可能在数据/数据访问层中。问题是我想将 存储user
在Session
类库中并在类库中进行验证(没有Session
)。我也想尽可能地避免user
到处乱跑。有没有办法将用户存储在 中Session
并让数据访问层访问该信息而不被传递user
?有人对如何优雅地做到这一点有任何建议吗?
编辑:我想保持validation
, 和CRUD
活动尽可能靠近数据层,其中核心 MVC 项目只调用Save()
一个对象,数据层验证对象,找出用户修改或创建它的内容并将其保存到数据库。
编辑 2:数据层必须在 MVC 层中绝对没有依赖关系。