Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NETMVC3中独立项目上的数据访问层和业务逻辑层_C#_Asp.net_Asp.net Mvc 3_Entity Framework_Repository Pattern - Fatal编程技术网

C# ASP.NETMVC3中独立项目上的数据访问层和业务逻辑层

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

我目前正在使用ASP.NETMVC3开发一个web应用程序

我的解决方案中有以下结构:

  • 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上)。