c#asp.net中的结构建议

时间:2016-02-03 12:20:46

标签: c# asp.net entity-framework

我有以下应用程序:

  • MVC - Admincenter - 整个项目的所有者做他的事情
  • MVC - Admincenter2 - 许可软件所有者可以控制他的东西
  • WebAPI - AppAPI - 应用可以获得所需的一切

现在我认为以上所有可以共享一些BO对象,所以我添加了另一个BO项目,所有这些都继承了。我还添加了另一个BLL项目,所有这些项目都继承了加密等常见内容。

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

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

有关整个项目的建议,或者在这种情况下如何正确使用EF?

2 个答案:

答案 0 :(得分:0)

我们有类似的设置,基本上是它的结构(我假设你使用的是Visual Studio)。

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

我们还有一个单独的类项目(DLL),它包含数据库上下文,实体类和大多数业务逻辑。 Visual Studio"解决方案"然后包含Web应用程序和类库项目。

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

答案 1 :(得分:0)

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