我有一个分为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中,不应该吗?
感谢。
答案 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中。您的域项目与存储数据文件的位置无关。