将解决方案分成不同的项目

Tit*_* D. 8 asp.net-mvc

我正在学习ASP.Net MVC; 我正在使用带有MVC4的Visual Studio Express 2012(这是最后一个版本)而且我对这些东西都是全新的.我的目标是将一个巨大的Web应用程序重写为MVC,因此我被告知使用代码优先方法将我的主要解决方案分成3个项目:

  • 核心(我猜的模型和控制器)
  • UI(视图,脚本和内容)
  • 数据库(将使用实体框架5.0)

我对MVC很熟悉,但没有把东西分成不同的项目.现在我有点失落,我不知道如何做到这一点,这应该参考谁,在哪里,如何,等等.

Dar*_*rov 3

您的解决方案可以这样构建:

  1. UI - ASP.NET MVC 应用程序项目包含控制器、视图、视图模型、域模型和视图模型之间的映射逻辑、脚本、样式...

  2. DAL(EF 5.0、EF 自动生成的域模型、数据上下文...)特定于数据检索的所有内容

然后 UI 层将引用 DAL 层。

有些人可能还会选择将控制器、视图模型和映射逻辑外部化到第三层,而第三层又会引用 DAL 层。在这种情况下,UI 层将引用其他两个层。

  • 我现在的问题是如何做到这一点,我的意思是移动/不移动哪些文件夹(全局,例如app_start),哪个项目应该引用另一个,等等...... (2认同)
  • 您从空的 ASP.NET MVC 项目模板开始。这样你就不需要移走任何东西,因为什么都不会存在。您将第二个类型类库项目添加到您的解决方案中,在其中放置所有 EF 特定的内容。然后,ASP.NET MVC 应用程序项目引用包含 DAL 逻辑的类库。然后您可以开始在主项目中添加控制器。 (2认同)