【发布时间】:2011-06-10 02:51:04
【问题描述】:
关于我的域层/域服务的快速问题...我应该允许该层对数据库具有只读访问权限吗?即连接一个 IReadOnlySession 并只允许存储库层访问 CRUD 即持久性?或者 Repository 层应该同时执行 ReadOnly 和 CRUD,服务层调用 Repository 层?
我觉得很奇怪的一件事是,为什么大部分时间服务层只是直接调用回购协议,因此问题是 - 将 ReadOnly 移至域服务层。
编辑:
我决定在我的应用程序中有 3 层(对于任何对我所做的感兴趣的人),第一层是 WebUI(我总共有 3 层,业务需求),下面是域服务即所有业务规则,验证,检查用户是否可以执行操作 x,用户是有效用户,为数据调用 repo。最后一层是存储库层,即与数据库本身对话的层,我使用的是 LinqToSql,我所有的 CRUD 和 ReadOnly 逻辑都在这里。作为旁注,我创建了另一个名为 Model 的项目,这是实际的 LinqToSql 模型实体,即 Product、Item、Shop、Customer 等。UI、Domain Service 和 Repo 引用了这个项目,使我免于编写 DTO 和希望有不必要的复杂性。
【问题讨论】:
标签: c# asp.net-mvc dns repository data-access-layer