ViewModel的存储库

时间:2012-06-28 05:51:16

标签: asp.net design-patterns

我在DataAccessLayer为我正在处理的应用程序创建了以下两个存储库。

  1. RoleRepository
  2. TaskRepository
  3. RoleRepository正在处理所有Role相关操作,例如在数据库中添加Role并从DataBase中检索角色集合。 TaskRepository TaskRoleRepository相关操作作为Role

    我想用Task映射RoleId。我的意思是角色负责某些任务。这种关系是M:M。所以我创建了一个存储TaskIdRoleId的表。我想在GridView中显示角色和相应的任务。所以我需要在表中保存TaskId,{{1}},还需要检索RoleTaskViewModel的集合。

    • 在哪个存储库中需要包含这些操作?
    • 我是否需要创建新的存储库?

2 个答案:

答案 0 :(得分:0)

听起来你更感兴趣的是看到与角色相关的任务而不是与任务相关联的角色。在这种情况下,我会从RoleRepository中查询它。

答案 1 :(得分:0)

我认为这应该是一个valueOjbect,如果你使用的是域驱动设计模式,那么应该有实体基类,所有实体对象都应该扩展这个基类。

是的,您应该创建一个值对象,如: - RolesTasks,您在其中拥有角色,任务的集合对象,您必须使用RoleRepository和TaskRepository。

永远不需要创建单独的存储库“应该为EntityObject创建存储库,而不是为ValueObject创建”