In Entity Framework 6, è possibile visualizzare l'SQL che verrà eseguito per un insertoprima SaveChanges chiamata?Entity Framework 6 - Come faccio a visualizzare il codice SQL che verrà generato per un inserto prima di chiamare SaveChanges
using (var db = new StuffEntities()){
db.Things.Add(new Thing({...});
//can I get the SQL insert statement at this point?
db.SaveChanges();
}
ho familiarità con il modo di ottenere il codice SQL generato per un interrogazione prima dell'esecuzione in questo modo:
var query = db.Thing.Where(x => x.ID == 9);
Console.WriteLine(query.ToString());
//this prints the SQL select statement
La query restituisce un IQueryable <> mentre un inserto restituisce un DbSet e chiamando ToString su un DbSet stampa semplicemente il nome dell'oggetto standard.
Funziona! Devi solo impostare interceptionContext.Result e fermerà il database IO. Grazie! –
è DbInterception not DbInterceptor – sam