/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public static void ChangesSaved( [NotNull] this IDiagnosticsLogger <DbLoggerCategory.Update> diagnostics, [NotNull] IEnumerable <IUpdateEntry> entries, int rowsAffected) { var definition = InMemoryResources.LogSavedChanges(diagnostics); var warningBehavior = definition.GetLogBehavior(diagnostics); if (warningBehavior != WarningBehavior.Ignore) { definition.Log( diagnostics, warningBehavior, rowsAffected); } if (diagnostics.DiagnosticSource.IsEnabled(definition.EventId.Name)) { diagnostics.DiagnosticSource.Write( definition.EventId.Name, new SaveChangesEventData( definition, ChangesSaved, entries, rowsAffected)); } }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public static void ChangesSaved( this IDiagnosticsLogger <DbLoggerCategory.Update> diagnostics, IEnumerable <IUpdateEntry> entries, int rowsAffected) { var definition = InMemoryResources.LogSavedChanges(diagnostics); if (diagnostics.ShouldLog(definition)) { definition.Log(diagnostics, rowsAffected); } if (diagnostics.NeedsEventData(definition, out var diagnosticSourceEnabled, out var simpleLogEnabled)) { var eventData = new SaveChangesEventData( definition, ChangesSaved, entries, rowsAffected); diagnostics.DispatchEventData(definition, eventData, diagnosticSourceEnabled, simpleLogEnabled); } }