C# 若对具有自动增量的表调用多个插入,则Linq到SQL数据上下文不会提交

C# 若对具有自动增量的表调用多个插入,则Linq到SQL数据上下文不会提交,c#,linq-to-sql,datacontext,C#,Linq To Sql,Datacontext,我有一个问题,当试图提交两个插入一次。该表具有自动递增主键。设置的注释对象没有设置ID值,因此数据库可以分配该值 如果我直接提交,我的代码可以进行单次插入,但是如果我尝试执行多个InsertOnSubmit命令,那么它似乎不会进行任何签名,并且不会返回任何错误或异常,即使我的代码位于try-and-catch块中。还有其他人有这个问题吗?或者你知道我应该朝哪个方向看吗 示例1(这不会提交到数据库) 示例2(这很好用) 将所有注释添加到集合并调用InsertAllOnSubmit()方法不是更好吗

我有一个问题,当试图提交两个插入一次。该表具有自动递增主键。设置的注释对象没有设置ID值,因此数据库可以分配该值

如果我直接提交,我的代码可以进行单次插入,但是如果我尝试执行多个InsertOnSubmit命令,那么它似乎不会进行任何签名,并且不会返回任何错误或异常,即使我的代码位于try-and-catch块中。还有其他人有这个问题吗?或者你知道我应该朝哪个方向看吗

示例1(这不会提交到数据库)

示例2(这很好用)


将所有注释添加到集合并调用InsertAllOnSubmit()方法不是更好吗?这行得通吗?

由迈克尔·巴特向微软发布


有人对此有什么想法吗?我相信这是一个简单的解决办法,我只是看不到有人有同样的问题。干杯,我想一定还有别的事情发生,因为据我所知,这应该行得通。不幸的是,我的linq to sql fu很弱,而且我的心理调试技能在你的情况下也失败了。只有在表完全为空的情况下,它才能执行插入操作,如果我手动将第一个条目放入表中,它似乎工作得很好,这似乎毫无意义。这听起来很像我自己遇到的问题:唉,除了在每次插入后提交外,我没有找到其他解决方案。我已将此问题作为错误报告给Microsoft:
//myComment is initialised with data
dc.tblDailyComments.InsertOnSubmit(myComment);


//myComment2 is initialised with different data
dc.tblDailyComments.InsertOnSubmit(myComment2); 


//when this is called it does not commit to the database   
dc.SubmitChanges();
//myComment is initialised with data
dc.tblDailyComments.InsertOnSubmit(myComment);

//commits to the database   
dc.SubmitChanges();

//myComment2 is initialised with different data
dc.tblDailyComments.InsertOnSubmit(myComment2); 


//commits to the database   
dc.SubmitChanges();