关于InsertAllOnSubmit
我有大批数据需要插入到数据库中,使用InsertAllOnSubmit如果其中一行出错会导致全部插入失败。
除了循环有没有什么好的方法实现?
PS:偶穷人一个,只能给20分了
------解决方案--------------------使用事务解决冲突:
db.InsertAllOnSubmit(数据)
db.SubmitChanges(ConflictMode.ContinueOnConflict);
------解决方案--------------------一条条的插入试试
用insertonsubmit方法先一条条的插入
------解决方案--------------------linq 当然支持 插入,批量,单条都支持。
有InsertAllOnSubmit,集合,不要循环。
你的实体 有问题吧,跟数据库中的一样吗?
设了主键没有啊,我看到你的 字段 没有哪个是唯一的啊。
------解决方案--------------------list当做一个集合,生成sql语句之前,会检查 每个值,与实体的属性表述 是否一致,
如果 是 数据有问题的话,就报异常了,都没sql语句,往哪提交呢,当然是全部失败。
如果生成sql语句没有问题,在 执行sql语句出现问题,可能出现,有的执行成功,有的失败。
一般 加个 事务,那么全部失败,要么就成功。
using (TransactionScope ts = new TransactionScope())
{
}