日期:2014-05-20  浏览次数:20906 次

关于InsertAllOnSubmit
我有大批数据需要插入到数据库中,使用InsertAllOnSubmit如果其中一行出错会导致全部插入失败。
除了循环有没有什么好的方法实现?

PS:偶穷人一个,只能给20分了

------解决方案--------------------
使用事务解决冲突:

db.InsertAllOnSubmit(数据)
db.SubmitChanges(ConflictMode.ContinueOnConflict);



------解决方案--------------------
一条条的插入试试
用insertonsubmit方法先一条条的插入
------解决方案--------------------
linq 当然支持 插入,批量,单条都支持。
有InsertAllOnSubmit,集合,不要循环。
你的实体 有问题吧,跟数据库中的一样吗?
设了主键没有啊,我看到你的 字段 没有哪个是唯一的啊。
------解决方案--------------------
list当做一个集合,生成sql语句之前,会检查 每个值,与实体的属性表述 是否一致,
如果 是 数据有问题的话,就报异常了,都没sql语句,往哪提交呢,当然是全部失败。

如果生成sql语句没有问题,在 执行sql语句出现问题,可能出现,有的执行成功,有的失败。

一般 加个 事务,那么全部失败,要么就成功。
using (TransactionScope ts = new TransactionScope())
{
}