Как узнать, что генерирует SQL Enttity Framework SaveChages? - PullRequest
0 голосов
/ 25 апреля 2011

Часто бывают случаи, когда я хочу посмотреть, какой SQL генерируется EF.Например, я запрашиваю объект, изменяю его и сохраняю обратно:

var context = new EntityModel();
var MyObj = context.FooTable.First(o => o.id = SearchId);
MyObj.Property = SomeValue;
context.SaveChanges();

Я получаю несколько глупых ошибок, которые я могу устранить, если смогу увидеть SQL.Я далек от эксперта по EF, и это также помогло бы мне научиться.

Обновление: Я думаю, что я действительно хочу знать: в автоматическом слежении за объектами EF, как показано выше, какполучить в ObjectContext / ObjectQuery использовать ToTraceString (), чтобы увидеть, что было выполнено в SaveChanges ()?

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

Я использую бесплатный SQL Express Profiler

1 голос
/ 25 апреля 2011

Звучит как довольно простая задача, но это не потому, что команда ADO.NET почему-то забыла включить такую ​​базовую функциональность. Проверьте EF Tracing провайдера . Это то, что может помочь вам регистрировать команды SQL. В противном случае используйте SQL Profiler и узнайте, как использовать фильтры при создании новой трассировки.

0 голосов
/ 25 апреля 2011

EF Profiler - отличный инструмент для этого - хотя он и не бесплатный: (* ​​1003 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...