Asp.net mvc 哪些类可以用作域模型?

Asp.net mvc 哪些类可以用作域模型?,asp.net-mvc,entity-framework,architecture,software-design,Asp.net Mvc,Entity Framework,Architecture,Software Design,我创建了一个包含4个层(4个项目)的解决方案: 实体框架层(EFL) 数据访问层(DAL):所有查询和CRUD操作 业务逻辑层(BLL):我的业务术语和调用DAL类 MVC层(MVCL) 我将EFL的引用添加到所有层,将DAL引用添加到BLL,将BLL的引用添加到MVCL层。 我的问题是EFL层中的实体类。我可以在MVCL中添加EFL的引用,并在控制器和视图中使用这些类,但如果我这样做,MVC模型会怎么样 我在MVC的model文件夹中创建了所有的EFL类,但我没有使用MVC模型 我刚上过英语

我创建了一个包含4个层(4个项目)的解决方案:

  • 实体框架层(EFL)
  • 数据访问层(DAL):所有查询和CRUD操作
  • 业务逻辑层(BLL):我的业务术语和调用DAL类
  • MVC层(MVCL)
  • 我将EFL的引用添加到所有层,将DAL引用添加到BLL,将BLL的引用添加到MVCL层。

    我的问题是EFL层中的实体类。我可以在MVCL中添加EFL的引用,并在控制器和视图中使用这些类,但如果我这样做,MVC模型会怎么样

    我在MVC的model文件夹中创建了所有的EFL类,但我没有使用MVC模型

    我刚上过英语课。这是真的吗?或者我应该创建一些函数来将EFL和MVC模型类相互转换,然后我只使用MVC模型类

    这里哪种架构是正确的

    我的问题是EFL层中的实体类。我可以在MVCL中添加EFL的引用,并在控制器和视图中使用这些类,但如果我这样做,MVC模型会怎么样

    创建公共库(新项目)。该项目应该包含您的接口和通用实体类(如EF中使用的模型)。此项目对您的其他项目应有0个依赖项,然后您的其他项目可以引用此项目。这将帮助您跨层重用实体对象(如果需要),还允许您在服务上定义公共接口,以便您可以从层而不是具体实现中公开这些接口

    我刚上过英语课。这是真的吗?或者我应该创建一些函数来将EFL和MVC模型类相互转换,然后我只使用MVC模型类

    是否跨层和顶层使用EF模型取决于模型及其使用方式。有时,这很好,特别是对于非常简单的模型或简单的项目。其他时候不是这样,您将希望将模型转换为更能反映最终参与者将如何操作它的东西(包括验证和可能的依赖项)。除非您在解决方案中指定了一些通用标准,否则它通常是特定于具体情况的