在MVC 4应用程序中使用本地DB

时间:2013-11-26 13:11:31

标签: asp.net-mvc-4

我正在学习MVC。我只需要澄清一些事情。我正在关注THIS教程。这个人使用LocalDB来存储Movie对象。他只是添加一个连接字符串,然后在添加控制器后,如教程中所述,自动添加CRUD操作方法。那家伙使用了类似的句子,“你只需要将你的电影对象存储在localdb中”。自动创建数据库(代码优先方法)。 (我知道如何使用Entity Framework,我们必须创建一些模型来映射我们的数据库)。但是这个教程让我很困惑。没有提到有关创建数据库等的事情,而他的连接字符串包含一个单词“ Movie.mdf ”(在数据源下)。最后,跟着他,我发现服务器未找到错误(26)。我错过了什么,对MVC来说是新手吗?

2 个答案:

答案 0 :(得分:8)

得到了解决方案。问题实际上是我没有为 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>

答案 1 :(得分:1)

您的计算机上是否安装了本地Db?安装MS SQL服务器时安装了它,但我认为你有一个复选标记,默认情况下没有安装。

当您从NuGet安装EntityFramework时,localdb是您的web.config中的默认设置,所以它通常没有别的事可做,即使它可能不是最佳方式。