1

我已经开始在 ASP.net 网站上学习 MVC 制作教程,但我无法理解一件事。

当我创建控制器和模型时,它给了我一个错误

System.Data.Entity.Edm.EdmEntityType: : EntityType 'TusofonaFields' 没有定义键。定义此 EntityType 的键。

我尝试在网上搜索,他们总是说它缺少 Id 上的 [Key],但不幸的是我的视觉工作室给了我一个错误:

找不到类型或命名空间名称“Key”(您是否缺少 using 指令或程序集引用?)

我的代码:

public ActionResult Index()
{
    return View(db.site_membros.ToList());
}

和模型:

namespace MvcApplication2
{
    public class TusofonaFields
    {
      public int IDMembro { get; set; }
      public string Alcunha { get; set; }        
      public DateTime Aniversario { get; set; }        
      public string Foto { get; set; }
    }

public class TusofonaTable : DbContext
{        
    public DbSet<TusofonaFields> site_membros { get; set; }
}   

}

4

2 回答 2

4

如果您使用 MVC4 向导创建视图并且您不希望在 viewModel 中有键,请确保对话框中的“数据上下文类”文本框为空。如果此框填充了 EntityFramework DB 上下文,您将收到此错误。删除它,错误就会消失。

于 2015-03-01T03:18:06.860 回答
1

好吧,错误告诉你发生了什么:你是缺少的参考。

在 EntityFramework 4 中:检查项目引用中是否有 System.ComponentModel.DataAnnotations。using System.ComponentModel.DataAnnotations;然后在cs文件顶部添加命名空间或使用mouse2[Key]>Resolve>using System.ComponentModel.DataAnnotations;

如果您使用的是 EntityFramework 5,您需要的命名空间是System.ComponentModel.DataAnnotations.Schema

于 2013-06-06T10:06:42.393 回答