In Entity Framework 6, is it possible to view the SQL that will be executed for an insert before calling SaveChanges?
using (var db =
Another option (if I understand your question correctly), would be to use an IDbCommandInterceptor implementation, which seemingly allows you to inspect SQL commands before they are executed (I hedge my words as I have not used this myself).
Something like this:
public class CommandInterceptor : IDbCommandInterceptor
{
public void NonQueryExecuting(
DbCommand command, DbCommandInterceptionContext interceptionContext)
{
// do whatever with command.CommandText
}
}
Register it using the DBInterception
class available in EF in your context static constructor:
static StuffEntities()
{
Database.SetInitializer(null); // or however you have it
System.Data.Entity.Infrastructure.Interception.DbInterception.Add(new CommandInterceptor());
}