0

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

4

2 回答 2

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。

于 2013-08-12T14:40:51.860 回答
0

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

于 2013-08-12T10:07:12.713 回答