【问题标题】:Sharing source for an ASP.NET MVC project that has a database共享具有数据库的 ASP.NET MVC 项目的源代码
【发布时间】:2014-08-23 00:01:40
【问题描述】:

我有一个非常简单的数据库(只有 3 个表和十多行左右),专为与 ASP.NET MVC 5 项目一起使用而设计。我正在使用 Visual Studio 2013 Ultimate。

我希望能够发布我的 Visual Studio 解决方案供其他人下载和学习。这些示例通常是出现在我的博客中的 Visual Studio ASP.NET MVC 解决方案。我已经成功发布了控制台类型的应用程序,但我从未发布过任何使用数据库的应用程序。

在我当前的项目中,我使用以“Data Source=(localdb)\v11.0”开头的连接字符串。我不明白的是如何向我的读者提供我现有数据库的副本。它是磁盘上的物理文件吗?如果是这样,它在哪里(它不会在 ASP.NET/MVC 提供的默认连接字符串中显示为路径)以及如何将它包含在可下载的 Zip 文件中以供其他人轻松下载和安装? NuGet 或 GitHub 是否以某种方式自动执行此过程?为了记录,我四处搜索,也没有找到任何讨论如何做到这一点的文章(诚然,我使用了搜索词“共享”和“数据库”,看到很多与网络共享有关的点击——不是我想要的……)。

最后,如果可能的话,我希望我的用户能够下载解决方案/项目文件并立即成功运行项目。我不希望他们必须进入 web.config 并编辑连接字符串或其他系统/配置/环境值。

【问题讨论】:

  • 连接字符串没有关于我正在使用的数据库的信息,但它确实有一个以 MDF 结尾的 AttachDbFilename 值。它是 VS 2013 的默认数据库引擎,所以我想它是 SQL Express。有没有办法避免要求我的用户恢复数据库?我可以将它包含在我的 Zip 文件中包含的目录树中,并确保 VS 2013 web.config 文件指向 VS 2013 解决方案中的文件夹吗?

标签: sql-server localdb


【解决方案1】:

没有关于您使用什么类型的数据库的信息?即(SQL SERVER / My SQL / Oracle)

将在 SQL Server 上与您共享,并与数据库共享您的本地项目。您可以通过两种方式共享项目(包括数据库)。

  1. 与项目共享 BAK 文件 - 备份您的项目并将其包含在项目 ZIP 文件中并上传。因此,如果任何用户下载它,它将恢复 BAK 文件(数据库文件),然后可以将项目与数据库连接。

  2. 与项目共享物理文件(MDF 和 LDF) -

(一)。默认情况下,MDF 和 LDF 文件位于 SQL Server >> MSSQL >> Data (b)。相关的数据库 MDF 文件应取并添加到 ZIP 文件 (c) 中。下载人员将提取文件并使用 SQL Management Studio >> 数据库 >> “还原文件和文件组”选项 (d)。恢复数据库并运行项目

【讨论】:

  • 好的,谢谢。我在 %programfiles%\Microsoft SQL Server 下找到了 MSSQL。我还按照您的建议在那里找到了 MDF 和 LDF 文件。除了 Zip 文件,NuGet 或其他一些进程是否允许我只共享我的 VS 2013 解决方案,以便用户不必为手动复制文件或运行恢复进程而烦恼?
  • 是的,您可以与整个项目共享 MDF 文件。最好在Project中的Text文件中提及数据库恢复过程,以便用户更好地恢复和使用项目
  • 我试图尽可能清楚:我不希望用户必须做任何事情——没有复制、没有自述文件、没有恢复等。我正在寻找一种方法为我的 MDF 提供一个 Zip,以便他们提取到一个文件夹并运行应用程序。有没有办法做到这一点?
  • 最后,您必须进行相同的编码,以便用户在运行应用程序时自动复制 MDF 文件。
  • 我不知道我认为这是必要的。经过进一步考虑,是否可以将 MDF 移动到我的 MVC 项目中的“数据”文件夹并将我的 web.config 连接字符串值指向它?我会尝试...
猜你喜欢
  • 2014-12-08
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
相关资源
最近更新 更多