【问题标题】:Using Local DB in MVC 4 application在 MVC 4 应用程序中使用本地数据库
【发布时间】:2016-04-27 01:44:06
【问题描述】:

我正在学习 MVC。我只是需要清除一些东西。我正在关注THIS 教程。这家伙使用 LocalDB 来存储 Movie 对象。他只是添加了一个连接字符串,然后在添加控制器后,如教程中所述,自动添加 CRUD 操作方法。那家伙使用了类似这样的句子,“这就是将电影对象存储在 localdb 中所要做的一切”。数据库是自动创建的(代码优先方法)。 (我知道如何使用实体框架,我们必须创建一些模型来映射我们的数据库)。但是这个教程让我很困惑。没有提及创建数据库等,而他的连接字符串包含一个单词“Movie.mdf”(在数据源下)。最后,跟着他,我得到了 server not found 错误 (26)。我错过了什么,作为 MVC 的新手?

【问题讨论】:

  • 该教程很棒,但是当他谈到连接字符串时,它有点令人困惑。要创建数据库,我建议您使用 EF Code-First 迁移 asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/…。我知道它是为 MVC-5 设计的,但它会帮助你。您将确定如何创建数据库,与 MVC 相关的所有其他内容与其他教程相同。告诉我。
  • @Guillelon 谢谢 :) 我正在学习 MVC,所以我将切换到 MVC 5 继续学习 :)

标签: asp.net-mvc-4


【解决方案1】:

找到解决方案。问题实际上是我没有为 dbContext 类调用 base 构造函数。因为我假设保持 连接字符串 的名称和我的类相同就足够了。但它没有用,也没有创建数据库。我将其更改为以下代码,并且有效。

public class myDbClass : DbContext
{
  public myDbClass()
    : base("myConString")
  {
     //logic;
  }
}

连接字符串先放在web.config中的SAME名,以便查找。

<connectionStrings>
    <add name="myConString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings>

【讨论】:

    【解决方案2】:

    您的机器上是否安装了 Local Db?安装MS SQL server的时候就安装好了,但是我觉得你打勾了,默认没有安装。

    当您从 NuGet 安装 EntityFramework 时,localdb 是您 web.config 中的默认设置,因此确实通常没有其他事情可做,即使它可能不是最好的方法。

    【讨论】:

    • 如何检查它是否已安装?我没有外部 MS SQL 管理器,但我想我有它的 express edition,默认情况下与 MS Visual Studio 2010 集成。(我可以在服务器资源管理器中创建数据库)。
    • 我的理解是安装LocalDB是SQL Server Express 2012自带的,所以我觉得你VS 2010是没有的。这个页面有自己下载的链接:mssqltips.com/sqlservertip/2694/…如果是未安装,它可能会解释您的错误。这里有一个遮阳篷stackoverflow.com/questions/11628316/…,可以让您查看它是否已安装。
    猜你喜欢
    • 1970-01-01
    • 2013-07-28
    • 2014-04-03
    • 2013-04-19
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    相关资源
    最近更新 更多