В MVC как отлаживать то, что не нравится базе данных, когда она ломается на db.SaveChanges (); - PullRequest
0 голосов
/ 26 сентября 2011

Мне всегда было интересно об этом, потому что время от времени я сталкивался с этим без четкого указания, в чем проблема.

Обычно я решал это с помощью процесса исключения, но я надеялся, что кто-нибудь сможет помочь мне с лучшим способом, который я мог бы идеально использовать для обеспечения более четкой / более точной обработки ошибок?

Любая помощь будет высоко ценится.

ТНХ.

p.s. на случай, если это поможет, я разрабатываю на C #.

1 Ответ

3 голосов
/ 26 сентября 2011

Я использую SQL Server Profiler для выяснения проблем с запросами edmx.

И для выяснения запросов на выборку, генерируемых для linq-to-entity, как в следующем случае,

var linqquery = from s in db.Employees 
                where s.name = "john"
                select s;

вы можете использовать

string logQuery = ((System.Data.Objects.ObjectQuery)linqquery).ToTraceString(); 

EDIT

Не знаю ничего, что MVC предоставляет для регистрации EF. Даже EF не имеет встроенной регистрации! (LINQ-to-SQL имеет свойство Log). Нашел эти ссылки, которые позволяют добавлять логирование в EF.

http://blogs.msdn.com/b/jkowalski/archive/2009/06/11/tracing-and-caching-in-entity-framework-available-on-msdn-code-gallery.aspx

или

http://codeclimber.net.nz/archive/2010/12/08/Logging-all-SQL-statements-done-by-Entity-Framework.aspx

...