Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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.net中的结构建议_C#_Asp.net_Entity Framework - Fatal编程技术网

c#asp.net中的结构建议

c#asp.net中的结构建议,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,本人有以下申请: MVC—管理中心——整个项目的所有者在这里做自己的事情 MVC-Admincenter2-在这里,许可软件所有者可以控制自己的东西 WebAPI-AppAPI-应用程序可以从中获取所需的一切 现在我想上面所有的都可以共享一些BO对象,所以我添加了另一个BO项目,所有这些对象都可以继承。我还添加了另一个BLL项目,它们都继承了加密等常见功能 现在棘手的部分开始了,我添加了实体框架。我们将首先运行代码。我不确定如何正确地定位整件事 我是否应该添加一个应用程序来根据映射构建数据库

本人有以下申请:

  • MVC—管理中心——整个项目的所有者在这里做自己的事情
  • MVC-Admincenter2-在这里,许可软件所有者可以控制自己的东西
  • WebAPI-AppAPI-应用程序可以从中获取所需的一切
现在我想上面所有的都可以共享一些BO对象,所以我添加了另一个BO项目,所有这些对象都可以继承。我还添加了另一个BLL项目,它们都继承了加密等常见功能

现在棘手的部分开始了,我添加了实体框架。我们将首先运行代码。我不确定如何正确地定位整件事

我是否应该添加一个应用程序来根据映射构建数据库,然后为上述3个应用程序提供不同的上下文


对整个项目或如何在这种情况下正确使用EF有什么建议吗?

我们有一个类似的设置,这就是它的基本结构(我假设您使用的是Visual Studio)

我们有一个web应用程序项目,它包含MVC和web API控制器。MVC控制器本质上是“引导”web应用程序,因此,一旦它加载到浏览器中,所有通信都将使用对web API控制器的Ajax调用进行

我们还有一个单独的类项目(DLL),其中包含数据库上下文、实体类和大部分业务逻辑。然后,VisualStudio“解决方案”包含web应用程序和类库项目


MVC控制器做的一些简单的事情不适用于其他任何事情,因此这些方法没有进入类库。但大多数情况下,所有数据库通信都通过类库进行。

根据我的经验,您应该使用DTO(数据传输对象)分离数据实体对象,DTO用于在Web API和这两个Web应用程序之间传输数据。我将添加带有实体框架的类库项目DAL(数据访问层),该项目用于数据库操作,然后使用BLL中的DTO,您将获得不同的应用程序上下文

我假设只有WebAPI与数据库通信,而所有其他项目都通过它获取数据?您甚至可以构建一个包含与数据库相关的所有实体的类项目,然后从中读取/构建数据库。您能否提供一个DTO的示例?以下是对DTO模式的解释: