/// <summary> /// Modifies an execution execution context and adds more information to i /// </summary> /// <param name="dbContext"></param> /// <param name="ctx"></param> public void ModifyExistingExecutionContext(DbContext dbContext, ExecutionContext ctx) { if (dbContext == null) { return; } ctx.Values["ConnectionId"] = GetConnectionId(dbContext.Database.Connection); ctx.Values["ConnectionString"] = dbContext.Database.Connection.ConnectionString; ctx.Values["ContextId"] = this.GetContextNumber(dbContext); }
/// <summary> /// Creates an <see cref="Common.Protocol.ExecutionContext"/> instance or returns <c>null</c> /// </summary> /// <returns></returns> public ExecutionContext CreateExecutionContext(DbContext dbContext) { if (dbContext == null) { return null; } ContextIdentifier contextId = this.GetContextNumber(dbContext); ExecutionContext ctx = new ExecutionContext(contextId, "DbContext instance #" + contextId); ctx.Values["ConnectionId"] = GetConnectionId(dbContext.Database.Connection); ctx.Values["ConnectionString"] = dbContext.Database.Connection.ConnectionString; return ctx; }