C# ASP.NETMVC3中独立项目上的数据访问层和业务逻辑层
我目前正在使用ASP.NETMVC3开发一个web应用程序 我的解决方案中有以下结构:C# ASP.NETMVC3中独立项目上的数据访问层和业务逻辑层,c#,asp.net,asp.net-mvc-3,entity-framework,repository-pattern,C#,Asp.net,Asp.net Mvc 3,Entity Framework,Repository Pattern,我目前正在使用ASP.NETMVC3开发一个web应用程序 我的解决方案中有以下结构: WebApp项目(模型、视图、控制器) 服务层(接口、业务逻辑) 域项目(存储库、接口、EF) EF4POCO项目(POCO) 我只是想知道这是否正确,我的数据访问层和业务逻辑层在不同的项目上。只要您的应用程序层松散耦合(例如通过使用接口/依赖项注入等),它们就可以在同一个项目中 但是,是的,将它们拆分为单独的项目是常见的做法,从长远来看,可能更易于维护和扩展 多谢各位。实际上,使用这种结构,我对来自EF
- WebApp项目(模型、视图、控制器)
- 服务层(接口、业务逻辑)
- 域项目(存储库、接口、EF)
- EF4POCO项目(POCO)
我只是想知道这是否正确,我的数据访问层和业务逻辑层在不同的项目上。只要您的应用程序层松散耦合(例如通过使用接口/依赖项注入等),它们就可以在同一个项目中
但是,是的,将它们拆分为单独的项目是常见的做法,从长远来看,可能更易于维护和扩展 多谢各位。实际上,使用这种结构,我对来自EF的连接查询结果有问题。您知道如何从存储库->服务层将联接查询结果传递给控制器吗因为我通常使用POCO类将查询结果传递给控制器,这通常来自单个表。添加新的POCO以保存连接结果。这些POCO不由DbContext管理,只用于包含和传输数据。可以在EF4POCO项目下手动添加新的POCO类吗?这些类是使用POCO Entity Generator创建的。因此,POCO也将用作ViewModels,对吗?也许可以将EF4POCO项目重命名为“Entity”或“Model”(或其他)并且在该项目中为EF生成的POCO和DTO使用单独的名称空间?然后您可以将所有与模型相关的内容保存在一个项目中。是的,这些DTO也可以作为视图模型。这肯定是以前问过的。在询问之前,请尝试搜索功能(在StackOverflow和Google上)。