Entity Framework 如何使用AddObject插入多条数据。

qq_18853919 2017-06-08 05:06:36
表结构:
student
Id identity(1,1) primary key,
name nvarchar(10)。 就这么两个简单的字段。


程序如下。
for(int i=0;i++;i<8)
{
Student student=new Student();
db.Student.AddObject(student);
}
db.SaveChanges();

具体报错:
违反了 UNIQUE KEY 约束 'UQ__ForeignP__B40CC6CC1293BD5E'。不能在对象 'dbo.ForeignProductWarehouse' 中插入重复键。重复的键值为 (33)。
语句已终止。


如何解决?
...全文
307 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
楠小南 2017-06-09
  • 打赏
  • 举报
回复
你的是啥版本啊。 我发觉 EF 就查询 和插入 好用 删除和 修改 难用。特别是 删除 一般我都是 在里面写SQL 语句
threenewbee 2017-06-09
  • 打赏
  • 举报
回复
试试看AddRange 否则只能循环了。
  • 打赏
  • 举报
回复
在这个表中除了主键ID外,是不是还有其他外键并要求满足唯一性约束?
qq_18853919 2017-06-09
  • 打赏
  • 举报
回复
这里纠正一下,一楼代码中的Student是为了大家看方便使用的,真实的代码是: 表结构: ForeignProductWarehouse Id identity(1,1) primary key, name nvarchar(10), ...其他无关字段省略。 程序如下。 for(int i=0;i++;i<8) { ForeignProductWarehouse obj=new ForeignProductWarehouse(); db.ForeignProductWarehouse .AddObject(obj); } db.SaveChanges(); 具体报错: 违反了 UNIQUE KEY 约束 'UQ__ForeignP__B40CC6CC1293BD5E'。不能在对象 'dbo.ForeignProductWarehouse' 中插入重复键。重复的键值为 (33)。 语句已终止。 如何解决?
qq_18853919 2017-06-09
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
另外,凡是抽象的所谓“框架”都增加了抽象的代价,需要你首先深入一步去了解其内部机制。比如说你的所谓 EF 这里所说的 ForeignProductWarehouse 这个数据库表跟 Student 可能根本就没有关系,是你的 db 中其它地方的对象所对应的结果。 分析 bug 的原因不要看某些“标题”党,要看实质。
因为刚接触Entity framework不久,不是特别理解内部如何运行的,工作需要,只能优先解决问题。
  • 打赏
  • 举报
回复
另外,凡是抽象的所谓“框架”都增加了抽象的代价,需要你首先深入一步去了解其内部机制。比如说你的所谓 EF 这里所说的 ForeignProductWarehouse 这个数据库表跟 Student 可能根本就没有关系,是你的 db 中其它地方的对象所对应的结果。 分析 bug 的原因不要看某些“标题”党,要看实质。
  • 打赏
  • 举报
回复
每一个对象的键值(例如Id值)必须不一样。 你难道不调试吗?嗯?
qq_18853919 2017-06-08
  • 打赏
  • 举报
回复
引用 2 楼 hanjun0612 的回复:
db.Student.AddObject(student); 改成 db.Student.Add(student);不行吗?
没有这个方法,应该是较低版本的EF。 Add可以解决么?
正怒月神 版主 2017-06-08
  • 打赏
  • 举报
回复
db.Student.AddObject(student); 改成 db.Student.Add(student);不行吗?
exception92 2017-06-08
  • 打赏
  • 举报
回复
dbo.ForeignProductWarehouse 这个是哪里的表

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧