Table of Contents

Class CoreResources

Namespace
Microsoft.EntityFrameworkCore.Diagnostics.Internal
Assembly
Microsoft.EntityFrameworkCore.dll

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.

public static class CoreResources
Inheritance
CoreResources
Inherited Members

Methods

LogAmbiguousEndRequired(IDiagnosticsLogger)

The foreign key {foreignKeyProperties} on entity type '{entityType}' cannot be configured as required since the dependent side cannot be determined. To identify the dependent side of the relationship, configure the foreign key property or the principal key before configuring the foreign key as required in 'OnModelCreating'. See https://go.microsoft.com/fwlink/?LinkId=724062 for more details.

public static EventDefinition<string, string> LogAmbiguousEndRequired(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogCascadeDelete(IDiagnosticsLogger)

A cascade state change of an entity of type '{entityType}' to '{state}' occurred due to deletion of its parent entity of type '{parentType}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, EntityState, string> LogCascadeDelete(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, EntityState, string>

LogCascadeDeleteOrphan(IDiagnosticsLogger)

An entity of type '{entityType}' changed to '{state}' state due to severed required relationship to its parent entity of type '{parentType}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, EntityState, string> LogCascadeDeleteOrphan(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, EntityState, string>

LogCascadeDeleteOrphanSensitive(IDiagnosticsLogger)

An entity of type '{entityType}' with key '{keyValues}' changed to '{state}' state due to severed required relationship to its parent entity of type '{parentType}'.

public static EventDefinition<string, string, EntityState, string> LogCascadeDeleteOrphanSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, EntityState, string>

LogCascadeDeleteSensitive(IDiagnosticsLogger)

A cascade state change of an entity of type '{entityType}' with key '{keyValues}' to '{state}' occurred due to the deletion of its parent entity of type '{parentType}' with key '{parentKeyValues}'.

public static EventDefinition<string, string, EntityState, string, string> LogCascadeDeleteSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, EntityState, string, string>

LogCollectionChangeDetected(IDiagnosticsLogger)

{addedCount} entities were added and {removedCount} entities were removed from navigation '{entityType}.{property}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<int, int, string, string> LogCollectionChangeDetected(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<int, int, string, string>

LogCollectionChangeDetectedSensitive(IDiagnosticsLogger)

{addedCount} entities were added and {removedCount} entities were removed from navigation '{entityType}.{property}' on entity with key '{keyValues}'.

public static EventDefinition<int, int, string, string, string> LogCollectionChangeDetectedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<int, int, string, string, string>

LogCollectionWithoutComparer(IDiagnosticsLogger)

The property '{entityType}.{property}' is a collection or enumeration type with a value converter but with no value comparer. Set a value comparer to ensure the collection/enumeration elements are compared correctly.

public static EventDefinition<string, string> LogCollectionWithoutComparer(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogConflictingForeignKeyAttributesOnNavigationAndProperty(IDiagnosticsLogger)

The relationship was separated into two relationships because the [ForeignKey] attribute specified on the navigation '{navigationEntityType}.{navigation}' doesn't match the [ForeignKey] attribute specified on the property '{propertyEntityType}.{property}'.

public static EventDefinition<string, string?, string, string?> LogConflictingForeignKeyAttributesOnNavigationAndProperty(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string>

LogConflictingKeylessAndKeyAttributes(IDiagnosticsLogger)

The entity type '{entity}' has the [Keyless] attribute, but the [Key] attribute was specified on property '{property}'; the two are incompatible, consider removing one. Note that the entity will have no key unless you configure one in 'OnModelCreating'.

public static EventDefinition<string, string> LogConflictingKeylessAndKeyAttributes(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogConflictingShadowForeignKeys(IDiagnosticsLogger)

There are multiple relationships between '{dependentEntityType}' and '{principalEntityType}' without configured foreign key properties. This will cause Entity Framework to create shadow properties on '{dependentType}' with names dependent on the discovery order. Consider configuring the foreign key properties using the [ForeignKey] attribute or in 'OnModelCreating'.

public static EventDefinition<string, string, string> LogConflictingShadowForeignKeys(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogContextDisposed(IDiagnosticsLogger)

'{contextType}' disposed.

public static EventDefinition<string> LogContextDisposed(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogContextInitialized(IDiagnosticsLogger)

Entity Framework Core {version} initialized '{contextType}' using provider '{provider}:{providerVersion}' with options: {options}

public static EventDefinition<string, string, string?, string?, string> LogContextInitialized(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string, string>

LogDetachedLazyLoading(IDiagnosticsLogger)

An attempt was made to lazy-load navigation '{navigation}' on a detached entity of type '{entityType}'. Lazy loading is not supported for detached entities or entities that are loaded with 'AsNoTracking'.

public static EventDefinition<string, string> LogDetachedLazyLoading(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogDetectChangesCompleted(IDiagnosticsLogger)

DetectChanges completed for '{contextType}'.

public static EventDefinition<string> LogDetectChangesCompleted(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogDetectChangesStarting(IDiagnosticsLogger)

DetectChanges starting for '{contextType}'.

public static EventDefinition<string?> LogDetectChangesStarting(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogDistinctAfterOrderByWithoutRowLimitingOperatorWarning(IDiagnosticsLogger)

The query uses the 'Distinct' operator after applying an ordering. If there are any row limiting operation used before 'Distinct' and after ordering then ordering will be used for it. Ordering(s) will be erased after 'Distinct' and results afterwards would be unordered.

public static EventDefinition LogDistinctAfterOrderByWithoutRowLimitingOperatorWarning(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogDuplicateDependentEntityTypeInstance(IDiagnosticsLogger)

The same entity is being tracked as different entity types '{dependent1}' and '{dependent2}' with defining navigations. If a property value changes, it will result in two store changes, which might not be the desired outcome.

public static EventDefinition<string, string> LogDuplicateDependentEntityTypeInstance(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogExceptionDuringQueryIteration(IDiagnosticsLogger)

An exception occurred while iterating over the results of a query for context type '{contextType}'.{newline}{error}

public static EventDefinition<Type, string, Exception> LogExceptionDuringQueryIteration(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<Type, string, Exception>

LogExceptionDuringSaveChanges(IDiagnosticsLogger)

An exception occurred in the database while saving changes for context type '{contextType}'.{newline}{error}

public static EventDefinition<Type?, string, Exception> LogExceptionDuringSaveChanges(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<Type, string, Exception>

LogExecutionStrategyRetrying(IDiagnosticsLogger)

A transient exception occurred during execution. The operation will be retried after {delay}ms.{newline}{error}

public static EventDefinition<int, string, Exception> LogExecutionStrategyRetrying(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<int, string, Exception>

LogFirstWithoutOrderByAndFilter(IDiagnosticsLogger)

The query uses the 'First'/'FirstOrDefault' operator without 'OrderBy' and filter operators. This may lead to unpredictable results.

public static EventDefinition LogFirstWithoutOrderByAndFilter(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogForeignKeyAttributesOnBothNavigations(IDiagnosticsLogger)

Navigations '{dependentEntityType}.{dependentNavigation}' and '{principalEntityType}.{principalNavigation}' were separated into two relationships since the [ForeignKey] attribute was specified on navigations on both sides.

public static EventDefinition<string, string, string, string> LogForeignKeyAttributesOnBothNavigations(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string>

LogForeignKeyAttributesOnBothProperties(IDiagnosticsLogger)

Navigations '{dependentEntityType}.{dependentNavigation}' and '{principalEntityType}.{principalNavigation}' were separated into two relationships since the [ForeignKey] attribute was specified on properties '{dependentProperty}' and '{principalProperty}' on both sides.

public static EventDefinition<string, string?, string, string?, string?, string?> LogForeignKeyAttributesOnBothProperties(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string, string, string>

LogForeignKeyChangeDetected(IDiagnosticsLogger)

The foreign key property '{entityType}.{property}' was detected as changed. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see property values.

public static EventDefinition<string, string> LogForeignKeyChangeDetected(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogForeignKeyChangeDetectedSensitive(IDiagnosticsLogger)

The foreign key property '{entityType}.{property}' was detected as changed from '{oldValue}' to '{newValue}' for entity with key '{keyValues}'.

public static EventDefinition<string, string, object?, object?, string> LogForeignKeyChangeDetectedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, object, object, string>

LogIncompatibleMatchingForeignKeyProperties(IDiagnosticsLogger)

For the relationship between dependent '{dependentToPrincipalNavigationSpecification}' and principal '{principalToDependentNavigationSpecification}', the foreign key properties haven't been configured by convention because the best match {foreignKeyProperties} are incompatible with the current principal key {principalKey}. This message can be disregarded if explicit configuration has been specified in 'OnModelCreating'.

public static EventDefinition<string, string, string, string> LogIncompatibleMatchingForeignKeyProperties(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string>

LogInvalidIncludePath(IDiagnosticsLogger)

Unable to find navigation '{navigation}' specified in string based include path '{navigationChain}'.

public static EventDefinition<object, object> LogInvalidIncludePath(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<object, object>

LogLazyLoadOnDisposedContext(IDiagnosticsLogger)

An attempt was made to lazy-load navigation '{entityType}.{navigation}' after the associated DbContext was disposed or returned to the pool, or the entity was explicitly detached from the context.

public static EventDefinition<string, string> LogLazyLoadOnDisposedContext(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogManyServiceProvidersCreated(IDiagnosticsLogger)

More than twenty 'IServiceProvider' instances have been created for internal use by Entity Framework. This is commonly caused by injection of a new singleton service instance into every DbContext instance. For example, calling 'UseLoggerFactory' passing in a new instance each time--see https://go.microsoft.com/fwlink/?linkid=869049 for more details. This may lead to performance issues, consider reviewing calls on 'DbContextOptionsBuilder' that may require new service providers to be built.

public static EventDefinition LogManyServiceProvidersCreated(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogMappedComplexPropertyIgnored(IDiagnosticsLogger)

The complex property '{type}.{property}' was first mapped explicitly and then ignored. Consider not mapping the complex property in the first place.

public static EventDefinition<string, string> LogMappedComplexPropertyIgnored(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogMappedEntityTypeIgnored(IDiagnosticsLogger)

The entity type '{entityType}' was first mapped explicitly and then ignored. Consider not mapping the entity type in the first place.

public static EventDefinition<string> LogMappedEntityTypeIgnored(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogMappedNavigationIgnored(IDiagnosticsLogger)

The navigation '{entityType}.{navigation}' was first mapped explicitly and then ignored. Consider not mapping the navigation in the first place.

public static EventDefinition<string, string> LogMappedNavigationIgnored(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogMappedPropertyIgnored(IDiagnosticsLogger)

The property '{entityType}.{property}' was first mapped explicitly and then ignored. Consider not mapping the property in the first place.

public static EventDefinition<string, string> LogMappedPropertyIgnored(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogMultipleInversePropertiesSameTarget(IDiagnosticsLogger)

There are multiple navigations ({navigations}) configured with [InverseProperty] attribute which point to the same inverse navigation '{inverseNavigation}' therefore no relationship was configured by convention.

public static EventDefinition<string, string?> LogMultipleInversePropertiesSameTarget(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogMultipleNavigationProperties(IDiagnosticsLogger)

No relationship from '{firstEntityType}' to '{secondEntityType}' has been configured by convention because there are multiple properties on one entity type - {navigationProperties} that could be matched with the properties on the other entity type - {inverseNavigations}. This message can be disregarded if explicit configuration has been specified in 'OnModelCreating'.

public static EventDefinition<string, string, string, string> LogMultipleNavigationProperties(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string>

LogMultiplePrimaryKeyCandidates(IDiagnosticsLogger)

A primary key hasn't been configured by convention as both properties '{firstProperty}' and '{secondProperty}' could be used as the primary key for the entity type '{entityType}'. This message can be disregarded if explicit configuration has been specified in 'OnModelCreating'.

public static EventDefinition<string, string, string> LogMultiplePrimaryKeyCandidates(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogNavigationBaseIncludeIgnored(IDiagnosticsLogger)

The navigation '{navigation}' was ignored from 'Include' in the query since the fix-up will automatically populate it. If any further navigations are specified in 'Include' afterwards then they will be ignored. Walking back include tree is not allowed.

public static EventDefinition<string> LogNavigationBaseIncludeIgnored(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogNavigationBaseIncluded(IDiagnosticsLogger)

Including navigation: '{navigation}'.

public static EventDefinition<string> LogNavigationBaseIncluded(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogNavigationLazyLoading(IDiagnosticsLogger)

The navigation '{entityType}.{navigation}' is being lazy-loaded.

public static EventDefinition<string, string> LogNavigationLazyLoading(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogNonOwnershipInverseNavigation(IDiagnosticsLogger)

The navigation '{targetEntityType}.{inverseNavigation}' specified in the [InverseProperty] attribute cannot be used as the inverse of '{ownedEntityType}.{navigation}' because it's not the ownership navigation '{ownershipNavigation}'.

public static EventDefinition<string, string?, string, string?, string?> LogNonOwnershipInverseNavigation(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, string, string>

LogOldModelVersion(IDiagnosticsLogger)

The model supplied in the context options was created with EF Core version '{oldVersion}', but the context is from version '{newVersion}'. Update the externally built model.

public static EventDefinition<string, string> LogOldModelVersion(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogOptimisticConcurrencyException(IDiagnosticsLogger)

{error}

public static EventDefinition<Exception> LogOptimisticConcurrencyException(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<Exception>

LogPossibleIncorrectRequiredNavigationWithQueryFilterInteraction(IDiagnosticsLogger)

Entity '{principalEntityType}' has a global query filter defined and is the required end of a relationship with the entity '{declaringEntityType}'. This may lead to unexpected results when the required entity is filtered out. Either configure the navigation as optional, or define matching query filters for both entities in the navigation. See https://go.microsoft.com/fwlink/?linkid=2131316 for more information.

public static EventDefinition<string, string> LogPossibleIncorrectRequiredNavigationWithQueryFilterInteraction(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogPossibleUnintendedCollectionNavigationNullComparison(IDiagnosticsLogger)

Collection navigations are only considered null if their parent entity is null. Use 'Any' to check whether collection navigation '{navigationPath}' is empty.

public static EventDefinition<string> LogPossibleUnintendedCollectionNavigationNullComparison(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogPossibleUnintendedReferenceComparison(IDiagnosticsLogger)

Possible unintended reference comparison between '{left}' and '{right}'.

public static EventDefinition<object, object> LogPossibleUnintendedReferenceComparison(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<object, object>

LogPropertyChangeDetected(IDiagnosticsLogger)

The unchanged property '{entityType}.{property}' was detected as changed and will be marked as modified. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see property values.

public static EventDefinition<string, string> LogPropertyChangeDetected(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogPropertyChangeDetectedSensitive(IDiagnosticsLogger)

The unchanged property '{entityType}.{property}' was detected as changed from '{oldValue}' to '{newValue}' and will be marked as modified for entity with key '{keyValues}'.

public static EventDefinition<string, string, object?, object?, string> LogPropertyChangeDetectedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, object, object, string>

LogQueryCanceled(IDiagnosticsLogger)

A query was canceled for context type '{contextType}'.

public static EventDefinition<Type> LogQueryCanceled(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<Type>

LogQueryCompilationStarting(IDiagnosticsLogger)

Compiling query expression: {newline}'{queryExpression}'

public static EventDefinition<string, string> LogQueryCompilationStarting(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogQueryExecutionPlanned(IDiagnosticsLogger)

Generated query execution expression: {newline}'{plan}'

public static EventDefinition<string, string> LogQueryExecutionPlanned(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogRedundantAddServicesCall(IDiagnosticsLogger)

'AddEntityFramework*' was called on the service provider, but 'UseInternalServiceProvider' wasn't called in the DbContext options configuration. Consider removing the 'AddEntityFramework*' call, as in most cases it's not needed and may cause conflicts with other products and services registered in the same service provider.

public static EventDefinition LogRedundantAddServicesCall(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogRedundantForeignKey(IDiagnosticsLogger)

The foreign key {redundantForeignKeyProperties} on entity type '{entityType}' targets itself. Consider removing it since it serves no purpose.

public static EventDefinition<string, string> LogRedundantForeignKey(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogRedundantIndexRemoved(IDiagnosticsLogger)

The index {redundantIndexProperties} was not created on entity type '{firstEntityType}' as the properties are already covered by the index {otherIndexProperties}.

public static EventDefinition<string, string, string> LogRedundantIndexRemoved(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogReferenceChangeDetected(IDiagnosticsLogger)

The navigation '{entityType}.{property}' was detected as changed. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, string> LogReferenceChangeDetected(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogReferenceChangeDetectedSensitive(IDiagnosticsLogger)

The navigation '{entityType}.{property}' for entity with key '{keyValues}' was detected as changed.

public static EventDefinition<string, string, string> LogReferenceChangeDetectedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogRequiredAttributeOnCollection(IDiagnosticsLogger)

The [Required] attribute on '{principalEntityType}.{principalNavigation}' was ignored because it is a collection. The [Required] attribute should only be specified on reference navigations pointing to the principal side of the relationship.

public static EventDefinition<string, string> LogRequiredAttributeOnCollection(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogRequiredAttributeOnSkipNavigation(IDiagnosticsLogger)

The [Required] attribute on '{principalEntityType}.{principalNavigation}' was ignored because it is a skip navigation. Consider configuring the underlying foreign keys in 'OnModelCreating' instead.

public static EventDefinition<string, string> LogRequiredAttributeOnSkipNavigation(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogRowLimitingOperationWithoutOrderBy(IDiagnosticsLogger)

The query uses a row limiting operator ('Skip'/'Take') without an 'OrderBy' operator. This may lead to unpredictable results. If the 'Distinct' operator is used after 'OrderBy', then make sure to use the 'OrderBy' operator after 'Distinct' as the ordering would otherwise get erased.

public static EventDefinition LogRowLimitingOperationWithoutOrderBy(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogSaveChangesCanceled(IDiagnosticsLogger)

A cancellation occurred while saving changes for context type '{contextType}'.

public static EventDefinition<Type?> LogSaveChangesCanceled(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<Type>

LogSaveChangesCompleted(IDiagnosticsLogger)

SaveChanges completed for '{contextType}' with {savedCount} entities written to the database.

public static EventDefinition<string?, int> LogSaveChangesCompleted(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, int>

LogSaveChangesStarting(IDiagnosticsLogger)

SaveChanges starting for '{contextType}'.

public static EventDefinition<string?> LogSaveChangesStarting(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogSensitiveDataLoggingEnabled(IDiagnosticsLogger)

Sensitive data logging is enabled. Log entries and exception messages may include sensitive application data; this mode should only be enabled during development.

public static EventDefinition LogSensitiveDataLoggingEnabled(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogServiceProviderCreated(IDiagnosticsLogger)

An 'IServiceProvider' was created for internal use by Entity Framework.

public static EventDefinition LogServiceProviderCreated(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition

LogServiceProviderDebugInfo(IDiagnosticsLogger)

An additional 'IServiceProvider' was created for internal use by Entity Framework. An existing service provider was not used due to the following configuration changes: {debugInfo}.

public static EventDefinition<string> LogServiceProviderDebugInfo(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogShadowForeignKeyPropertyCreated(IDiagnosticsLogger)

The foreign key property '{entityType}.{property}' was created in shadow state because a conflicting property with the simple name '{baseName}' exists in the entity type, but is either not mapped, is already used for another relationship, or is incompatible with the associated primary key type. See https://aka.ms/efcore-relationships for information on mapping relationships in EF Core.

public static EventDefinition<string, string, string> LogShadowForeignKeyPropertyCreated(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogShadowPropertyCreated(IDiagnosticsLogger)

The property '{entityType}.{property}' was created in shadow state because there are no eligible CLR members with a matching name.

public static EventDefinition<string, string> LogShadowPropertyCreated(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogSkipCollectionChangeDetected(IDiagnosticsLogger)

{addedCount} entities were added and {removedCount} entities were removed from skip navigation '{entityType}.{property}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<int, int, string, string> LogSkipCollectionChangeDetected(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<int, int, string, string>

LogSkipCollectionChangeDetectedSensitive(IDiagnosticsLogger)

{addedCount} entities were added and {removedCount} entities were removed from skip navigation '{entityType}.{property}' on entity with key '{keyValues}'.

public static EventDefinition<int, int, string, string, string> LogSkipCollectionChangeDetectedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<int, int, string, string, string>

LogStartedTracking(IDiagnosticsLogger)

Context '{contextType}' started tracking '{entityType}' entity. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, string> LogStartedTracking(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string>

LogStartedTrackingSensitive(IDiagnosticsLogger)

Context '{contextType}' started tracking '{entityType}' entity with key '{keyValues}'.

public static EventDefinition<string, string, string> LogStartedTrackingSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogStateChanged(IDiagnosticsLogger)

An entity of type '{entityType}' tracked by '{contextType}' changed state from '{oldState}' to '{newState}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, string, EntityState, EntityState> LogStateChanged(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, EntityState, EntityState>

LogStateChangedSensitive(IDiagnosticsLogger)

The '{entityType}' entity with key '{keyValues}' tracked by '{contextType}' changed state from '{oldState}' to '{newState}'.

public static EventDefinition<string, string, string, EntityState, EntityState> LogStateChangedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string, EntityState, EntityState>

LogStringEnumValueInJson(IDiagnosticsLogger)

A string value was read from JSON for enum '{enumType}'. Starting with EF Core 8, a breaking change was made to store enum values in JSON as numbers by default. See https://aka.ms/efcore-docs-jsonenums for details.

public static EventDefinition<string> LogStringEnumValueInJson(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string>

LogTempValueGenerated(IDiagnosticsLogger)

'{contextType}' generated a temporary value for the property '{entityType}.{property}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, string, string> LogTempValueGenerated(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogTempValueGeneratedSensitive(IDiagnosticsLogger)

'{contextType}' generated temporary value '{keyValue}' for the property '{entityType}.{property}'.

public static EventDefinition<string, object?, string, string> LogTempValueGeneratedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, object, string, string>

LogValueGenerated(IDiagnosticsLogger)

'{contextType}' generated a value for the property '{entityType}.{property}'. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

public static EventDefinition<string, string, string> LogValueGenerated(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, string, string>

LogValueGeneratedSensitive(IDiagnosticsLogger)

'{contextType}' generated value '{keyValue}' for the property '{entityType}.{property}'.

public static EventDefinition<string, object?, string, string> LogValueGeneratedSensitive(IDiagnosticsLogger logger)

Parameters

logger IDiagnosticsLogger

Returns

EventDefinition<string, object, string, string>