MVC 存储库模式和 UOW

MVC Repository pattern and UOW

我正在使用 MVC 存储库模式开发项目。我已经为 CRUD 操作创建了一个通用存储库。我的问题是:-

  1. 我需要为每个实体创建单独的 UOW class 还是应该在控制器中创建通用存储库对象。 (两者都在工作)

  2. 如果我有一个 entity/table 正在根据外键而不是主键获取和更新,在这种情况下我应该怎么做。 (我认为需要创建普通存储库 class)

谢谢

第一个问题的简短回答:这取决于

  • 如果你的 UoW 只是包装存储库对象而不做任何其他事情,你 不应将此 (UoW) 抽象添加到您的代码中。

  • 否则,如果您有一些特殊代码需要在保存前执行并且不是数据库代码(例如域验证或其他),您应该添加 UoW 并将此代码放入其中。

第二个问题 好像你设置了错误的列作为主键。可能您的外键列也应该是主键?