Linq中使用InsertOnSubmit()多条插入的问题[是否是微软bug?]
问题描述:
1、数据库“td”中有表“Products”(pid nchar(10) 主键),且已存在两条记录,如下:
[pid] [pname]
12354 omiga e32
12356 omiga e32
2、使用Linq插入新纪录,代码如下:
class Program { static void Main(string[] args) { ProductDataContext productDC = new ProductDataContext(); Table<Products> productTable = productDC.GetTable<Products>(); try { productTable.InsertOnSubmit(new Products() { pid = "12354", pname = "omiga e32" });//数据库存在主键为pid=‘12354’的记录 productDC.SubmitChanges(ConflictMode.ContinueOnConflict); } catch { //第一次异常,可以理解 } try { productTable.InsertOnSubmit(new Products() { pid = "12360", pname = "omiga e32" });//数据库不存在该记录 productTable.InsertOnSubmit(new Products() { pid = "12350", pname = "omiga e32" });//数据库不存在该记录 productDC.SubmitChanges(ConflictMode.ContinueOnConflict); } catch { //这一次的异常,如何解释?(两条记录均未插入数据库中) } } }