/// <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 = FileContextResources.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 TransactionIgnoredWarning( [NotNull] this IDiagnosticsLogger <DbLoggerCategory.Database.Transaction> diagnostics) { var definition = FileContextResources.LogTransactionsNotSupported(diagnostics); var warningBehavior = definition.GetLogBehavior(diagnostics); if (warningBehavior != WarningBehavior.Ignore) { definition.Log(diagnostics, warningBehavior); } if (diagnostics.DiagnosticSource.IsEnabled(definition.EventId.Name)) { diagnostics.DiagnosticSource.Write( definition.EventId.Name, new EventData( definition, (d, _) => ((EventDefinition)d).GenerateMessage())); } }