无法让EF Code First在MVC 4中工作

时间:2011-12-27 03:10:29

标签: c# entity-framework-4 ef-code-first asp.net-mvc-4

我在VS 2010中创建了一个新的MVC 4 Internet应用程序。我创建了一个“Item”模型和一个“ItemContext”类:

public class Item
{
    public int ItemID { get; set; }
    public string Name { get; set; }
}

public class ItemContext : DbContext
{
    public DbSet<Item> Items { get; set; }
}

我构建了项目,然后右键单击“Controllers”文件夹,并尝试添加新控制器:

Add Controller dialog box

当我尝试添加它时,我收到以下错误,我不明白:

MVC Error

我对此有更大的问题,但我想我会尝试尽可能简单地将其煮熟,看看我得到了什么。我错过了哪些步骤? “Internet应用程序”项目已经有一个连接字符串,并且它也有一些与成员相关的东西。

更新这是项目创建的连接字符串:

<add name="DefaultConnection" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" 
     providerName="System.Data.SqlClient" />

2 个答案:

答案 0 :(得分:4)

将连接字符串名称更改为ItemContext

答案 1 :(得分:4)

这是另一种方法,无需重命名连接。 DefaultConnection 可能是您的任何连接。

public class ItemsContext : DbContext
{
    public ItemsContext()
    : base("DefaultConnection")
    {
    }

    public DbSet<Item> Items { get; set; }
}

这种方法可以避免每个新模型集都有新的连接名称。