在asp.net mvc4中将值插入实体框架

时间:2013-08-12 09:52:46

标签: asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-4 entity-framework-4.1

在我的asp.net mvc4示例中,我有一个名为Sample的表,其中三列为Name,Dept和Id。在此Id中作为identity和primary.I从用户获取Name和Dept的值并插入该值到实体框架的示例表。它将值'0'传递给Id.And我得到一个错误,因为“存储更新,插入或删除语句影响了意外的行数(0)。实体可能已被修改或删除,因为实体已加载。刷新ObjectStateManager条目“。请帮助我。

2 个答案:

答案 0 :(得分:0)

在列上设置"autoincrement"并在sql server中将id设置为主键..

答案 1 :(得分:0)

在EF代码中,首先由数据注释完成。确保在更改方案后重新创建表(或数据库)。

public class Sample
{
    [Key]
    [Required]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] //auto increment id
    public int Id { get; set; }

    [Required]
    public string Name { get; set; }

    [Required]
    public int Dept { get; set; }
}

您不需要传递Id的整数。 EF将自动解决此问题。只需通过填写名称和部门来创建对象。通过将更改保存到数据库,EF将自动填写自动生成的Id。