我首先使用 Entity Framework 6 数据库。我正在将项目转换为实现洋葱架构,以实现更好的关注点分离。我阅读了许多文章并观看了许多视频,但在决定我的解决方案结构时遇到了一些问题。
我有 4 个项目:核心、基础设施、Web 和测试。
据我所知,.edmx 文件应该放在我的“基础设施”文件夹下。但是,我还阅读了有关使用存储库和工作单元模式来协助 EF 解耦和使用依赖注入的信息。
话虽如此:
我是否必须在 CORE 下为模型中的所有实体创建存储库接口?如果是这样,如何在一个巨大的数据库上维护它?我研究了 automapper,但发现它在呈现 IEnumererables 与 IQueryables 时存在问题,但有一个可用的扩展程序必须解决这个问题。我可以更深入地尝试这条路线,但想先收到回复。
作为替代方案,我是否应该将我的 edmx 留在 Infrastructure 中并将我的实体的 .tt T4 文件移动到 CORE?这是否提供了任何紧密耦合或一个好的解决方案?
通用存储库接口是否可以很好地配合您提供的建议?或者,也许 EF6 已经解决了存储库和 UoW 模式问题?
感谢您查看我的问题,并请提供任何替代答复。
我在这里找到了一个类似的帖子,但没有得到回答: EF6 and Onion architecture - database first and without Repository pattern