我有用于插入/更新/删除的ViewModel。使用Ninject实现存储库模式在控制器上完成DI。
我很困惑。我有UserCreateViewModel绑定到Create.aspx一旦提交需要检查已经在DB中的UserName。对于1和2,我需要构造函数DI从存储库调用IsUserRegistered方法。
1- ViewModel。
2-域模型。
3-服务层。是否添加额外的图层来检查DB中是否存在UserName?
4-有人建议使用属性和DI。
答案 0 :(得分:0)
应该有一种方法可以在您的域模型中执行检查!这就是它所属的地方,执行该检查是纯粹的业务逻辑。此外,应该对数据源和映射实体施加约束以强制执行此规则。
然后从ViewModel调用该方法。
关于服务层: 这通常只是暴露域层功能的外观。如果要通过服务客户端使用此方法,请将其公开。