我正在编写一个小型 MVC 应用程序来处理我运行的项目的时间表信息。它将被托管,我正在使用 UI/服务/数据层对其进行设计。我被撕裂的一件事是,我可以在所有层中使用实体框架模型吗?好吧,我想我可以,但我应该吗?
所有层都将托管在同一台机器上(除了实际的 DB ..)。但是跨所有层访问 EF 模型意味着包括 UI 在内的所有层都需要对 DB 层的引用——绕过服务。
这是一个安全的举动吗?
也许我可以只从 EF 中提取模型,并以共享库的形式在各层之间共享这些模型?
还是我应该咬紧牙关,实施 DTO 和翻译器?所以:
DATABASE->EF->TranslaterToDTO->BusinessLogic->ServiceLayer->UI(TranslaterTOViewModel)->View