c# – 如何看待在LINQ to SQL中的SubmitChanges上导致错误的sql?

c# – 如何看待在LINQ to SQL中的SubmitChanges上导致错误的sql?,第1张

概述我有一些LINQ to SQL,有时会抛出一个 “Cannot insert duplicate key row in object ‘dbo.Table’ with unique index ‘IX_Indexname’.The statement has been terminated.” 有没有什么方法可以打开日志记录或至少调试到datacontext,看看在出现错误时正在执行什么SQL? 我有一些liNQ to sql,有时会抛出一个

“Cannot insert duplicate key row in object ‘dbo.table’ with unique index
‘IX_Indexname’.The statement has been terminated.”

有没有什么方法可以打开日志记录或至少调试到datacontext,看看在出现错误时正在执行什么sql?

更新:我应该提到我知道GetChangeSet()方法,我想知道DataContext上是否有一个属性显示最后执行的sql,或者是显示sql的sql异常的属性.

关于这个错误的奇怪之处在于,在更改集中,只有一个更新&唯一正在更改的字段是日期时间字段,该字段不在导致错误的索引中.

解决方法 一个简单的方法是使用 DataContext.Log属性:
using (MyDataContext ctx = new MyDataContext()){    StringWriter sw = new StringWriter();    ctx.Log = sw;    // execute some liNQ to sql operations...    string sql = sw.ToString();    // put a breakpoint here,log it to a file,etc...}
总结

以上是内存溢出为你收集整理的c# – 如何看待在LINQ to SQL中的SubmitChanges上导致错误的sql?全部内容,希望文章能够帮你解决c# – 如何看待在LINQ to SQL中的SubmitChanges上导致错误的sql?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1241702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存