首页 新闻 搜索 专区 学院

为什么用EF批量添加,最后还是只插入了一条?

0
悬赏园豆:5 [已解决问题] 解决于 2015-08-22 13:52

public ActionResult Add(ItemDetails entity)
{
var sw = new Stopwatch();
var count = 0;
//var counts = 0;
sw.Start();
using (db)
{
var list = new List<ItemDetails>();
for (var i = 0; i < 10000; i++)
{
entity.Description = "i的值为:" + i;
db.ItemDetails.Add(entity);
}
count = db.SaveChanges();
}
sw.Stop();
var date = sw.Elapsed;
return Json(string.Format("总耗时:{0},添加数量:{1}", date, count));
}

EF
月亮邮递员的主页 月亮邮递员 | 初学一级 | 园豆:199
提问于:2015-08-22 11:55
< >
分享
最佳答案
0

因为你的entity是同一个对象,EF是在SaveChange的时候再去提交数据的,这个时候,就只会使用到你最终的那个对象,你可以在循环中new Entity,然后再添加。

收获园豆:5
幻天芒 | 高人七级 |园豆:36781 | 2015-08-22 13:16
其他回答(1)
0

返回count=1代表的你是插入操作,不是你的插入多少条数据

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-22 12:00

@罗朝福: 去掉using试试

支持(0) 反对(0) 稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-22 12:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册