Показать SQL, созданный LinqtoSQL
-
06-09-2019 - |
Вопрос
Как можно увидеть SQL, сгенерированный вставкой LINQ2SQL?Допустим, у меня есть
db.Elephants.InsertOnSubmit(elephantInstance);
db.SubmitChanges();
можно ли как-нибудь увидеть SQL?Я установил визуализатор LINQtoSQL, о котором упоминает Скотт Гу (http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx), и, похоже, он работает для полных запросов LINQ, но не для таких вставок.
Решение
Вы можете использовать DataContext.Log для регистрации SQL.Вы можете установить для любого TextWriter свойство DataContext.Log.Если вы хотите регистрировать вывод в отладчике или консоли, попробуйте это http://www.u2u.info/Blogs/Kris/Lists/Posts/Post.aspx?ID=11 - и ты готов идти.
Другие советы
Профилировщик SQL Server покажет вам сгенерированные запросы.Он также покажет вам планы выполнения, которые SQL Server использует для решения этих запросов, и предоставит вам способы повышения производительности.
Дополнительная информация на http://msdn.microsoft.com/en-us/library/ms187929.aspx