Sql server 在使用EF Crud操作的MVC脚手架中,为什么需要输入主键

Sql server 在使用EF Crud操作的MVC脚手架中,为什么需要输入主键,sql-server,asp.net-mvc-4,dbcontext,ado.net-entity-data-model,Sql Server,Asp.net Mvc 4,Dbcontext,Ado.net Entity Data Model,我创建了数据库并附加了数据实体模型,因为我有表名Employee和主键EMPID,它们可以自动递增。然后我使用实体框架添加脚手架插入更新删除自动 所以它总是显示输入EMPId也是主键和自动增量 public partial class ProductCategory { public int ProductId { get; set; } public string ProductName { get; set; } public string ProductDe

我创建了数据库并附加了数据实体模型,因为我有表名Employee和主键EMPID,它们可以自动递增。然后我使用实体框架添加脚手架插入更新删除自动

所以它总是显示输入EMPId也是主键和自动增量

 public partial class ProductCategory 
{
    public int ProductId { get; set; } 
    public string ProductName { get; set; } 
    public string ProductDescription { get; set; }
    public string ProductPrice { get; set; } 
    public Nullable<int> CategoryId { get; set; }
    public virtual Category Category { get; set; } 
} 
公共部分类ProductCategory
{
public int ProductId{get;set;}
公共字符串ProductName{get;set;}
公共字符串ProductDescription{get;set;}
公共字符串ProductPrice{get;set;}
公共可空类别ID{get;set;}
公共虚拟类别{get;set;}
} 

这是我的模型类,由EF自动创建–

在主键上添加此属性

 [Key]
 [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
 public int ProductId { get;  set; }

你能展示一下你的模型吗?EMPID字段是否用KeyAttribute修饰?我更新了代码