2011-12-27 108 views
2

创建于2010年VS新的MVC 4 Internet应用程序我创建了一个“项目”模式,以及“ItemContext”类:无法获得EF代码首先要在MVC工作4

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

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

我建成该项目,然后用鼠标右键点击“控制器”文件夹中,并尝试添加一个新的控制器:

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" /> 
+0

尝试将连接字符串名称更改为“ItemContext”。 – Eranga 2011-12-27 03:43:42

+0

@Eranga做得很好,现在'ColumnAttribute'不明确,还有另一个与此相关的错误。 'ColumnAttribute'无法在解决方案中出现 – 2011-12-27 03:49:53

+0

有可能在类的属性上定义'Column'属性。除Item Item之外是否还有模型类? – Eranga 2011-12-27 04:02:52

回答

4

更改连接字符串名称ItemContext

4

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

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

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

此方法为您提供了避免为每个新模型集设置新连接名称的好处。

+0

酷!谢谢,我会记住这一点:) – 2012-09-06 04:10:46