我创建了一个包含4个图层(4个项目)的解决方案:
答案 0 :(得分:2)
我的问题是我在EFL层的实体类。我可以在MVCL中添加EFL的参考,并在控制器和视图中使用这些类,但如果我这样做,MVC模型呢?
创建一个公共库(新项目)。该项目应包含您的接口和公共实体类(如EF中使用的模型)。此项目应该对您的其他项目有0个依赖项,然后您的其他项目可以引用此项目。这将使您可以跨层重用实体对象(如果需要),还允许您在服务上定义通用接口,以便可以从层中公开这些接口而不是具体实现。
我刚刚使用了EFL课程。这是真的吗?或者也许我应该创建一些函数来将EFL和MVC模型类相互转换,然后我只使用MVC模型类?
是否在您的图层和顶部表示层中使用EF模型取决于模型及其使用方式。有时这很好,特别是对于非常简单的模型或简单的项目。其他时候它不是,你会想要将模型转换为更接近镜像最终行为者将如何操纵它的东西(包括验证和可能的依赖)。除非您在解决方案中指定一些通用标准,否则通常情况特定。