3

我们的项目最近使用官方 10gen 驱动程序从 SQL 数据库迁移到 noSQL 数据库(mogoDB)。项目基于使用 Prism 框架的 MVVM。

我们正在使用通用存储库 - 每个集合的存储库。

这里有几个问题:

  1. repistory 应该只包含基本的 CRUD 操作,还是可以有更具体的操作,例如根据某些特定值获取用户。

  2. 出于绑定的目的,我们需要某种自动映射,问题是,应该在哪一层完成?例如:“Book”具有“AuthorId”,但在 View/ViewModel 中,我们绑定到“Book.Author.name”(当然,“Author”而不是“AuthorId”将是未映射的属性)。

  3. 从另一个通用存储库访问某个存储库是一种好习惯吗?它们应该彼此可见吗?

4

1 回答 1

1

所以最后,我们决定使用以下方法:

  1. 通用存储库(每个集合的存储库)包含基本的 CRUD 操作和基于某些特定值获取实体的简单方法 - 严格的数据访问方法。

  2. ViewModel 层确实提供了“完成”未映射的属性,而不是存储库层。

  3. 因此,不需要存储库之间的交叉引用。

于 2013-06-25T12:14:00.837 回答