【发布时间】:2010-01-01 22:10:18
【问题描述】:
使用 SQL Server Express 2005 创建新数据库时,数据库文件(.mdf 和 .ldf)默认存储在 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 中。
但是,在我看到的 ASP.NET MVC 教程(例如,Nerd Dinner)中,将数据库文件保存在 ASP.NET 项目的 App_Data 文件夹中似乎是一种常见的做法。
问题
- App_Data 文件夹是否有任何意义,或者如果您碰巧使用 Visual Studio 的设计器创建新数据库,它是否只是一个方便存储数据库文件的地方?
- 如果我不使用甚至删除 App_Data 文件夹,会不会有负面影响?
更新
有一件事我仍然没有得到。如果您在服务器上有一个生产数据库,您为什么还要想要用 App_Data 中的数据库替换这个数据库。当您发布应用程序的新版本时,您通常不想在生产数据库上运行更新脚本吗?即使对于初始部署,我也宁愿脚本数据库创建而不是物理复制文件。此外,对于 SQL Server (Express) 数据库,复制是不够的。您必须分离数据库以操作文件,然后在完成后重新附加。
所以,我不得不说,App_Data 的意义仍然没有引起我的注意。有人能启发我吗?
【问题讨论】:
-
关于你的更新,好点子!我将对 App_Data 的可行情况进行最后一次尝试。经验中的两个想法:(1.)在一个 DB Admin 和 Programmer 角色定义明确且分开的组织中,App_Data 让网站开发人员在开发中使用数据库,而无需经历/等待 DBA 角色做事,因为一切都是网络开发机器的本地内容。 (2.) 当您将 Web 应用程序上传到第三方托管公司进行生产时,他们通常不会让您访问他们的数据库服务器(与 Web 服务器计算机分开)。
-
(评论室用完了)...总体而言,App_Data 为全球的 asp.net 开发人员提供了更多选项,尽管您现在可能找不到在您的特定情况下使用这些选项的充分理由。
标签: asp.net sql-server asp.net-mvc sql-server-2005 sql-server-express