以下代码已经停止运作。
db.DBUsers.InsertOnSubmit(new DBUser
{
AllTheStuff = valuesBeyondYourWildestDreams
}
);
db.SubmitChanges();
我的猜测是数据库发生了变化,提交失败,因为映射已关闭 由于linq visualiser对我不起作用(修复它的奖励点),我想找到另一种方法来了解究竟出了什么问题,以及为什么提交失败了。
更新
我尝试使用
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
获取异常,但似乎提交有效。除了数据库中没有实际的新实体。
答案 0 :(得分:2)
对于初学者我会这样做:
db.Log = Console.Out;
答案 1 :(得分:0)
如果可以选择,您可以尝试使用SQL Server Profiler - 启动新跟踪,连接到相关数据库,然后选择要捕获的事件。
对于基本的LINQ调试,我发现 SP:StmtCompleted (在存储过程下)和 SQL:StmtCompleted (在TSQL下)足以向您展示SQL LINQ正试图运行。
如果您发现正在拾取大量不需要的命令,则可以将其过滤掉。例如,我会过滤掉来自 msdb 和主数据库的所有内容。
答案 2 :(得分:0)
答案 3 :(得分:0)
您也可以使用LINQPad - 将LINQ代码复制到那里,引用数据库,并将转储放入以有效地调试LINQ。