【问题标题】:How do I program against a local database while I develop in ASP.NET MVC?在 ASP.NET MVC 中开发时,如何针对本地数据库进行编程?
【发布时间】:2010-07-15 01:04:58
【问题描述】:

在我的工作中,我发现我们属于 Microsoft 的某个程序,因此可以访问各种产品。

我已经下载了 Microsoft Visual Studio 2010。

我不是专业程序员,但我以前涉足过,我想看看 ASP.NET MVC。我知道我想使用某种风格的 SQL Server,并且我想创建一个爱好网站作为一个项目(可能会在将来的某个时候部署)。

如何为驻留在我机器上的本地数据库创建架构并编写代码,然后再使用外部的实际 SQL Server?

VS2010 是否使针对本地 SQL Server 数据库的编程变得相当容易?

【问题讨论】:

  • 相当广泛的问题。你去谷歌看看怎么样?
  • @RPM1984,这是一个旨在提供编程答案的网站,然后谷歌将在其结果中获取这些答案。评论会与有内容要添加到讨论中的人一起保存。
  • RPM1984 可能有点道理,但我在这里看到了更糟糕和更广泛的问题。
  • @Igor Zevaka,我的帖子没有任何被动性。我清楚地说明了为什么我认为他的评论没有成效。
  • @RPM1984,我的问题可能对您来说似乎相当广泛,因为我缺乏足够的专业知识来进一步缩小范围。我想使用新框架创建我的第一个数据库驱动网站,但我读过的大多数教程都认为你有一个可用的数据库是理所当然的。

标签: sql-server asp.net-mvc


【解决方案1】:

针对本地数据库进行开发很简单。

从 MSDN 下载 SQL Server Express(或从 MSDN 下载 SQL Server,因为它听起来像是您可以访问)。

使用您的 Web.config 文件来存储您的数据库连接字符串。您可以在您的应用程序中使用它:

using(SqlConnection conn =
    new SqlConnection(ConfigurationManager.
        ConnectionStrings["MyConnectionString"].ConnectionString))
{
}

您所要做的就是更改应用程序中的连接字符串以将您的应用程序指向生产服务器:

<connectionStrings>
    <add name="MyConnectionString"
         connectionString="Data Source=localhost;
                           Initial Catalog=myDataBase;
                           User Id=myUsername;
                           Password=myPassword;" />
</connectionStrings>

变成

<connectionStrings>
    <add name="MyConnectionString"
         connectionString="Data Source=ProductionServer.MyDomain.com;
                           Initial Catalog=myDataBase;
                           User Id=myUsername;
                           Password=myPassword;" />
</connectionStrings>

【讨论】:

    【解决方案2】:

    查看本教程:

    Create a Movie Database Application in 15 Minutes with ASP.NET MVC

    在“创建数据库”部分,它向您展示了使用与 Visual Studio 捆绑在一起的 Microsoft SQL Server Express 创建本地数据库的完整分步指南。

    【讨论】:

      【解决方案3】:

      查看此 MSDN 部分“将 SQL Server Express 与 ASP.NET 结合使用:”http://msdn.microsoft.com/en-us/library/ms247257.aspx。这里有一系列文章可以帮助您开始使用 MVC 站点和 SQL Express。

      【讨论】:

        【解决方案4】:

        有各种教程将向您展示如何连接到本地 SQL Server Express 并使用 Visual Studio 的服务器资源管理器创建数据库对象,或在 LINQ 建模器中设计数据库架构并使用 LINQ Datacontext 部署方法。这种方法威胁数据库的 MDF 文件作为项目的二进制文件。以前的答案已经指出了最受欢迎的答案。

        所有这些教程都没有提到的是,这种方法只适用于部署你的产品的 v1,当你想部署下一个版本时会失败。这些方法都没有提供将数据库模式升级部署到生产运行站点的方法。

        对于爱好者开发者来说,这种方法是可行的,但专业商店必须使用完全不同的方法。 SO 本身充满了来自开发人员的问题,这些问题被这些教程中大肆宣扬的幼稚方法所困扰(从“如何在 SVN 中签入我的 MDF?”到“我对 MDF 进行了修改,如何将它们部署到我的托管?')。一种替代方法是使用 Visual Studio 数据库项目,在生成 .dbschema 文件的数据库项目中定义架构,并使用 vsdbcmd 工具架构差异部署功能。另一种选择是通过升级 T-SQL 脚本来完全控制和部署所有模式对象:对于每次模式更改,都会创建一个升级脚本,将更改从 vN 部署到 vN+1,并将数据库模式标记为 VN+ 1.后一种方法最适合多个部署,当每个位置可能处于不同的 tversion 并且每个版本必须能够通过从当前运行连续运行所有升级脚本来将架构从磁盘上的任何版本升级到所需版本时磁盘上的版本到所需的版本。这其实就是SQL Server itself to upgrade the resource database使用的方法。

        【讨论】:

          猜你喜欢
          • 2010-10-14
          • 2010-09-15
          • 2010-11-05
          • 1970-01-01
          • 2014-08-09
          • 1970-01-01
          • 1970-01-01
          • 2011-05-25
          • 1970-01-01
          相关资源
          最近更新 更多