Asp.net mvc 在分为3个项目的MVC解决方案中,在哪里可以找到App_数据文件夹?

Asp.net mvc 在分为3个项目的MVC解决方案中,在哪里可以找到App_数据文件夹?,asp.net-mvc,Asp.net Mvc,我的解决方案分为3个项目: 领域 网络用户界面 单元测试 在我的web.config中,我对数据库的定义如下: <connectionStrings> <add name="EntityFrameworkDbContext" connectionString="Data Source=.\SQL2008;Initial Catalog=MvcLearning;Integrated Security=SSPI;Database=MVCLear

我的解决方案分为3个项目:

  • 领域
  • 网络用户界面
  • 单元测试
在我的web.config中,我对数据库的定义如下:

  <connectionStrings>
      <add name="EntityFrameworkDbContext" 
        connectionString="Data Source=.\SQL2008;Initial Catalog=MvcLearning;Integrated Security=SSPI;Database=MVCLearning;AttachDBFilename=|DataDirectory|MVCLearning.mdf;MultipleActiveResultSets=True;User Instance=True"
        providerName="System.Data.SqlClient"/>
  </connectionStrings>

我们在我的连接字符串中使用了| DataDirectory |

数据库的所有内容都应该位于“域”项目中,对吗?但是当第一次执行解决方案时,数据库被创建,我看到它被创建在WebUI\App\u数据文件夹中

我认为它应该位于“域”项目的App_数据中,不是吗


谢谢。

在域项目中,您拥有您的业务逻辑和实体。但如果您使用| DataDirectory |,它将被放置在App|u数据中。域项目与数据文件的存储位置无关

数据库的所有内容都应该位于“域”项目中,对吗

理想情况下,它应该位于数据访问层中,该层应该是应用程序的独立层,而不是业务/域层

我认为它应该位于“域”项目的应用程序数据中,不是吗


不,因为托管项目是ASP.NET MVC应用程序,像App_数据这样的东西是特殊的文件夹,在web应用程序中只有意义。因此,当您在web应用程序的web.config中定义
| DataDirectory | MVCLearning.mdf
时,这实际上意味着web应用程序的
App\u Data
文件夹。

感谢您的回复。我理解。那么,这是在WebUI项目(我有我的视图和控制器)中存储数据库的好方法吗?我没有把它放在那里。我在SQLServer实例上创建它。但是,在一些您不拥有的服务器上,连接可能是一种方式。