Gle*_*ven 6 .net c# sql linq linq-to-sql
我有一些LINQ to SQL,有时会抛出一个
"无法在对象'dbo.Table'中插入具有唯一索引'IX_Indexname'的重复键行.该语句已被终止."
有没有什么方法可以打开日志记录或至少调试到datacontext,看看在出现错误时正在执行什么SQL?
更新: 我应该提到我知道的GetChangeSet()
方法,我想知道如果有一个显示已执行的最后一个SQL,或在SQL异常,显示了SQL财产上的DataContext属性.
关于此错误的奇怪之处在于,在更改集中,只有一个更新,并且唯一正在更改的字段是不在导致错误的索引中的日期时间字段.
Bra*_*ger 11
一个简单的方法是使用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...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1887 次 |
最近记录: |