【问题标题】:error when scafolding controller mvc5脚手架控制器 mvc 5 时出错
【发布时间】:2015-06-12 16:23:54
【问题描述】:

嗨,当我尝试使用控制器操作和实体框架添加控制器时,它给了我一个错误提示:

"选择的代码生成器出错:无法 检索“Music.Model.Customer”的元数据。一项或多项验证 在模型生成期间检测到错误:

Music.Data.Customer : EntityType 'Customer' 没有定义键。定义 此实体类型的键。

Images: EntityType:EntitySet 'images' 基于类型 'Customer that 没有定义任何键。

我确实在添加控制器之前构建了我的上下文

【问题讨论】:

  • Customer 是否定义了键值?
  • 不,它没有,我刚刚添加了一个密钥并且它有效。谢谢

标签: c# asp.net-mvc


【解决方案1】:

在您的模型中,您应该使用[Key] 属性来装饰属性。例如:

public partial class Customer
{
    [Key]
    public int CustomerId { get; set; }
    ...
    ...

}

如果列名为 Id,Entity Framework 将识别表的主键。如果您的表没有名为 Id 的主键字段,您可以通过设置 [Key] 属性来识别主键字段。

【讨论】:

  • 这正是我想要的 :) 非常感谢,它现在可以工作了
猜你喜欢
  • 2011-10-30
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2015-04-26
  • 2017-01-04
  • 1970-01-01
相关资源
最近更新 更多