Asp.net mvc 4 在MVC4应用程序中使用本地数据库

Asp.net mvc 4 在MVC4应用程序中使用本地数据库,asp.net-mvc-4,Asp.net Mvc 4,我正在学习MVC。我只是需要澄清一些事情。我正在学习教程。这家伙用LocalDB来存储电影对象。他只是添加了一个连接字符串,然后在添加控制器之后,如教程中所述,CRUD操作方法会自动添加。那个家伙用了这样一句话,“这就是在localdb中存储电影对象所需要做的一切”。数据库是自动创建的(代码优先方法)。(我知道如何使用实体框架,我们必须创建一些模型来映射数据库)。但是这个教程让我很困惑。没有提到创建数据库等内容,而他的连接字符串包含一个单词,Movie.mdf(在数据源下)。最后,跟随他,我得到

我正在学习MVC。我只是需要澄清一些事情。我正在学习教程。这家伙用LocalDB来存储电影对象。他只是添加了一个连接字符串,然后在添加控制器之后,如教程中所述,CRUD操作方法会自动添加。那个家伙用了这样一句话,“这就是在localdb中存储电影对象所需要做的一切”。数据库是自动创建的(代码优先方法)。(我知道如何使用实体框架,我们必须创建一些模型来映射数据库)。但是这个教程让我很困惑。没有提到创建数据库等内容,而他的连接字符串包含一个单词,Movie.mdf(在数据源下)。最后,跟随他,我得到服务器未找到错误(26)。作为MVC的新手,我是否遗漏了什么?

您的机器上是否安装了本地数据库?它是在安装MS SQL server时安装的,但我认为您有一个复选标记,默认情况下不会安装它


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

获得了解决方案。问题实际上是我没有调用dbContext类的基构造函数。因为我假设保持连接字符串和类的名称不变就足够了。但它没有工作,也没有创建数据库。我按照下面的代码对其进行了更改,它成功了

public class myDbClass : DbContext
{
  public myDbClass()
    : base("myConString")
  {
     //logic;
  }
}
连接字符串首先以相同的名称放置在web.config中,以便它可以查找

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


该教程很棒,但当他谈到连接字符串时,有点让人困惑。要创建数据库,我建议您首先迁移EF代码。我知道它是为MVC-5设计的,但它会帮助你。您将肯定地了解如何创建数据库,与MVC相关的所有其他内容都与其他教程相同。让我知道。@Guillelon谢谢:)我正在学习MVC,所以我将切换到MVC 5继续学习:)我如何检查它是否已安装?我没有外部的MS SQL manager,但我想,我有它的express edition,它默认与MS Visual Studio 2010集成。(我可以在服务器资源管理器中创建数据库)。我的理解是,安装LocalDB随SQL server Express 2012一起提供,所以我认为VS 2010中没有。这个页面有一个自己下载的链接:如果没有安装,它可能会解释你的错误。这里有一个awnser,您可以查看它是否已安装。