在MVC解决方案中找到分为3个项目的App_Data文件夹的位置?

时间:2011-10-22 18:07:50

标签: asp.net-mvc

我有一个分为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 |在我的connectionstring中使用。

关于数据库的一切都应该位于'domain'项目中,对吧?但是在第一次执行解决方案时,会创建数据库并且我看到它是在WebUI \ App_Data文件夹中创建的......

我认为它应该位于'域'项目的App_Data中,不应该吗?

感谢。

2 个答案:

答案 0 :(得分:1)

  

关于数据库的一切都应该位于'domain'项目中,对吗?

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

  

我认为它应该位于'domain'项目的App_Data中,不应该吗?

不,由于托管项目是ASP.NET MVC应用程序,App_Data之类的东西是特殊文件夹,它们只在Web应用程序中有意义。因此,当您在Web应用程序的web.config中定义|DataDirectory|MVCLearning.mdf时,它实际上意味着Web应用程序的App_Data文件夹。

答案 1 :(得分:0)

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