c# – 如何看待在LINQ to SQL中的SubmitChanges上导致错误的sql
发布时间:2020-12-15 18:27:42 所属栏目:百科 来源:网络整理
导读:我有一些LINQ to SQL,有时会抛出一个 “Cannot insert duplicate key row in object ‘dbo.Table’ with unique index ‘IX_Indexname’.The statement has been terminated.” 有没有什么方法可以打开日志记录或至少调试到datacontext,看看在出现错误时正在
我有一些LINQ to SQL,有时会抛出一个
有没有什么方法可以打开日志记录或至少调试到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... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |