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