diff --git a/src/EFCore.Abstractions/ChangeTracking/Internal/ObservableBackedBindingList.cs b/src/EFCore.Abstractions/ChangeTracking/Internal/ObservableBackedBindingList.cs index d7ea5c99571..1883da852b4 100644 --- a/src/EFCore.Abstractions/ChangeTracking/Internal/ObservableBackedBindingList.cs +++ b/src/EFCore.Abstractions/ChangeTracking/Internal/ObservableBackedBindingList.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Specialized; -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Utilities; namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; diff --git a/src/EFCore.Abstractions/ChangeTracking/Internal/SortableBindingList.cs b/src/EFCore.Abstractions/ChangeTracking/Internal/SortableBindingList.cs index 1af38c18074..cf01677c07c 100644 --- a/src/EFCore.Abstractions/ChangeTracking/Internal/SortableBindingList.cs +++ b/src/EFCore.Abstractions/ChangeTracking/Internal/SortableBindingList.cs @@ -3,7 +3,6 @@ using System.Collections; using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; diff --git a/src/EFCore.Abstractions/ChangeTracking/ObservableCollectionListSource.cs b/src/EFCore.Abstractions/ChangeTracking/ObservableCollectionListSource.cs index 5b4ace5447f..c60a48bf67e 100644 --- a/src/EFCore.Abstractions/ChangeTracking/ObservableCollectionListSource.cs +++ b/src/EFCore.Abstractions/ChangeTracking/ObservableCollectionListSource.cs @@ -4,7 +4,6 @@ using System.Collections; using System.Collections.ObjectModel; using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.EntityFrameworkCore.ChangeTracking; diff --git a/src/EFCore.Abstractions/DbFunctionAttribute.cs b/src/EFCore.Abstractions/DbFunctionAttribute.cs index 24d0b433ecf..262e1e030d3 100644 --- a/src/EFCore.Abstractions/DbFunctionAttribute.cs +++ b/src/EFCore.Abstractions/DbFunctionAttribute.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Utilities; namespace Microsoft.EntityFrameworkCore; diff --git a/src/EFCore.Abstractions/EFCore.Abstractions.csproj b/src/EFCore.Abstractions/EFCore.Abstractions.csproj index 1872b15a402..5dec04688f5 100644 --- a/src/EFCore.Abstractions/EFCore.Abstractions.csproj +++ b/src/EFCore.Abstractions/EFCore.Abstractions.csproj @@ -13,6 +13,7 @@ + diff --git a/src/EFCore.Abstractions/EntityTypeConfigurationAttribute.cs b/src/EFCore.Abstractions/EntityTypeConfigurationAttribute.cs index 852b39e6db4..f2d2e7a782c 100644 --- a/src/EFCore.Abstractions/EntityTypeConfigurationAttribute.cs +++ b/src/EFCore.Abstractions/EntityTypeConfigurationAttribute.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Utilities; namespace Microsoft.EntityFrameworkCore; diff --git a/src/EFCore.Abstractions/IndexAttribute.cs b/src/EFCore.Abstractions/IndexAttribute.cs index 2a4c92b598a..17635eea246 100644 --- a/src/EFCore.Abstractions/IndexAttribute.cs +++ b/src/EFCore.Abstractions/IndexAttribute.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Utilities; namespace Microsoft.EntityFrameworkCore; diff --git a/src/EFCore.Abstractions/ObservableCollectionExtensions.cs b/src/EFCore.Abstractions/ObservableCollectionExtensions.cs index 211eb90c443..33398d27ec0 100644 --- a/src/EFCore.Abstractions/ObservableCollectionExtensions.cs +++ b/src/EFCore.Abstractions/ObservableCollectionExtensions.cs @@ -3,7 +3,6 @@ using System.Collections.ObjectModel; using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.ChangeTracking.Internal; namespace Microsoft.EntityFrameworkCore; diff --git a/src/EFCore.Analyzers/AnalyzerReleases.Unshipped.md b/src/EFCore.Analyzers/AnalyzerReleases.Unshipped.md index e69de29bb2d..67868e2dd56 100644 --- a/src/EFCore.Analyzers/AnalyzerReleases.Unshipped.md +++ b/src/EFCore.Analyzers/AnalyzerReleases.Unshipped.md @@ -0,0 +1,4 @@ +### Removed Rules +Rule ID | Category | Severity | Notes +--------|----------|----------|-------------------- +EF1001 | Usage | Warning | diff --git a/src/EFCore.Analyzers/EFDiagnostics.cs b/src/EFCore.Analyzers/EFDiagnostics.cs new file mode 100644 index 00000000000..4c20408c88f --- /dev/null +++ b/src/EFCore.Analyzers/EFDiagnostics.cs @@ -0,0 +1,20 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +namespace Microsoft.EntityFrameworkCore; + +/// +/// Contains IDs of diagnostics created by EF analyzers and other mechanisms. +/// +public static class EFDiagnostics +{ + public const string InterpolatedStringUsageInRawQueries = "EF1002"; + public const string SuppressUninitializedDbSetRule = "EFSPR1001"; + + // Internal API usage + public const string CoreInternalUsage = "EF9901"; + public const string RelationalInternalUsage = "EF9902"; + public const string DesignInternalUsage = "EF9903"; + public const string ProxiesInternalUsage = "EF9904"; + public const string ProviderInternalUsage = "EF9999"; +} diff --git a/src/EFCore.Analyzers/InternalUsageDiagnosticAnalyzer.cs b/src/EFCore.Analyzers/InternalUsageDiagnosticAnalyzer.cs deleted file mode 100644 index 95cc536d544..00000000000 --- a/src/EFCore.Analyzers/InternalUsageDiagnosticAnalyzer.cs +++ /dev/null @@ -1,335 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Collections.Immutable; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.Diagnostics; -using Microsoft.CodeAnalysis.Operations; -using CSharpSyntax = Microsoft.CodeAnalysis.CSharp.Syntax; - -namespace Microsoft.EntityFrameworkCore; - -[DiagnosticAnalyzer(LanguageNames.CSharp)] -public sealed class InternalUsageDiagnosticAnalyzer : DiagnosticAnalyzer -{ - public const string Id = "EF1001"; - private static readonly int EFLen = "EntityFrameworkCore".Length; - - private static readonly DiagnosticDescriptor Descriptor - // HACK: Work around dotnet/roslyn-analyzers#5890 by not using target-typed new - = new DiagnosticDescriptor( - Id, - title: AnalyzerStrings.InternalUsageTitle, - messageFormat: AnalyzerStrings.InternalUsageMessageFormat, - category: "Usage", - defaultSeverity: DiagnosticSeverity.Warning, - isEnabledByDefault: true); - - public override ImmutableArray SupportedDiagnostics - => ImmutableArray.Create(Descriptor); - - public override void Initialize(AnalysisContext context) - { - context.EnableConcurrentExecution(); - context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); - - context.RegisterOperationAction( - AnalyzeNode, - OperationKind.FieldReference, - OperationKind.PropertyReference, - OperationKind.MethodReference, - OperationKind.EventReference, - OperationKind.Invocation, - OperationKind.ObjectCreation, - OperationKind.VariableDeclaration, - OperationKind.TypeOf); - - context.RegisterSymbolAction( - AnalyzeSymbol, - SymbolKind.NamedType, - SymbolKind.Method, - SymbolKind.Property, - SymbolKind.Field, - SymbolKind.Event); - } - - private static void AnalyzeNode(OperationAnalysisContext context) - { - switch (context.Operation) - { - case IFieldReferenceOperation fieldReference: - AnalyzeMember(context, fieldReference.Field); - break; - - case IPropertyReferenceOperation propertyReference: - AnalyzeMember(context, propertyReference.Property); - break; - - case IEventReferenceOperation eventReference: - AnalyzeMember(context, eventReference.Event); - break; - - case IMethodReferenceOperation methodReference: - AnalyzeMember(context, methodReference.Method); - break; - - case IObjectCreationOperation { Constructor: { } constructor }: - AnalyzeMember(context, constructor); - break; - - case IInvocationOperation invocation: - AnalyzeInvocation(context, invocation); - break; - - case IVariableDeclarationOperation variableDeclaration: - AnalyzeVariableDeclaration(context, variableDeclaration); - break; - - case ITypeOfOperation typeOf: - AnalyzeTypeof(context, typeOf); - break; - - default: - throw new ArgumentException($"Unexpected operation: {context.Operation.Kind}"); - } - } - - private static void AnalyzeMember(OperationAnalysisContext context, ISymbol symbol) - { - if (symbol.ContainingAssembly?.Equals(context.Compilation.Assembly, SymbolEqualityComparer.Default) == true) - { - // Skip all methods inside the same assembly - internal access is fine - return; - } - - var containingType = symbol.ContainingType; - - if (HasInternalAttribute(symbol)) - { - ReportDiagnostic( - context, symbol.Name == WellKnownMemberNames.InstanceConstructorName ? containingType : $"{containingType}.{symbol.Name}"); - return; - } - - if (IsInternal(context, containingType)) - { - ReportDiagnostic(context, containingType); - } - } - - private static void AnalyzeInvocation(OperationAnalysisContext context, IInvocationOperation invocation) - { - // First check for any internal type parameters - foreach (var a in invocation.TargetMethod.TypeArguments) - { - if (IsInternal(context, a)) - { - context.ReportDiagnostic(Diagnostic.Create(Descriptor, context.Operation.Syntax.GetLocation(), a)); - } - } - - // Then check the method being invoked - AnalyzeMember(context, invocation.TargetMethod); - } - - private static void AnalyzeVariableDeclaration(OperationAnalysisContext context, IVariableDeclarationOperation variableDeclaration) - { - foreach (var declarator in variableDeclaration.Declarators) - { - if (IsInternal(context, declarator.Symbol.Type)) - { - var syntax = context.Operation.Syntax switch - { - CSharpSyntax.VariableDeclarationSyntax s => s.Type, - _ => context.Operation.Syntax - }; - context.ReportDiagnostic(Diagnostic.Create(Descriptor, syntax.GetLocation(), declarator.Symbol.Type)); - return; - } - } - } - - private static void AnalyzeTypeof(OperationAnalysisContext context, ITypeOfOperation typeOf) - { - if (IsInternal(context, typeOf.TypeOperand)) - { - ReportDiagnostic(context, typeOf.TypeOperand); - } - } - - private static void AnalyzeSymbol(SymbolAnalysisContext context) - { - switch (context.Symbol) - { - case INamedTypeSymbol symbol: - AnalyzeNamedTypeSymbol(context, symbol); - break; - - case IMethodSymbol symbol: - AnalyzeMethodTypeSymbol(context, symbol); - break; - - case IFieldSymbol symbol: - AnalyzeMemberDeclarationTypeSymbol(context, symbol, symbol.Type); - break; - - case IPropertySymbol symbol: - AnalyzeMemberDeclarationTypeSymbol(context, symbol, symbol.Type); - break; - - case IEventSymbol symbol: - AnalyzeMemberDeclarationTypeSymbol(context, symbol, symbol.Type); - break; - - default: - throw new ArgumentException($"Unexpected {nameof(ISymbol)}: {context.Symbol.GetType().Name}"); - } - } - - private static void AnalyzeNamedTypeSymbol(SymbolAnalysisContext context, INamedTypeSymbol symbol) - { - if (symbol.BaseType is ITypeSymbol baseSymbol - && IsInternal(context, baseSymbol)) - { - foreach (var declaringSyntax in symbol.DeclaringSyntaxReferences) - { - var location = declaringSyntax.GetSyntax() switch - { - CSharpSyntax.ClassDeclarationSyntax { BaseList.Types.Count: > 0 } s => s.BaseList.Types[0].GetLocation(), - { } otherSyntax => otherSyntax.GetLocation() - }; - - context.ReportDiagnostic(Diagnostic.Create(Descriptor, location, baseSymbol)); - } - } - - foreach (var @interface in symbol.Interfaces.Where(i => IsInternal(context, i))) - { - foreach (var declaringSyntax in symbol.DeclaringSyntaxReferences) - { - var location = declaringSyntax.GetSyntax() switch - { - CSharpSyntax.ClassDeclarationSyntax s => s.Identifier.GetLocation(), - { } otherSyntax => otherSyntax.GetLocation() - }; - - context.ReportDiagnostic(Diagnostic.Create(Descriptor, location, @interface)); - } - } - } - - private static void AnalyzeMethodTypeSymbol(SymbolAnalysisContext context, IMethodSymbol symbol) - { - if (symbol.MethodKind is MethodKind.PropertyGet or MethodKind.PropertySet) - { - // Property getters/setters are handled via IPropertySymbol - return; - } - - if (IsInternal(context, symbol.ReturnType)) - { - foreach (var declaringSyntax in symbol.DeclaringSyntaxReferences) - { - var location = declaringSyntax.GetSyntax() switch - { - CSharpSyntax.MethodDeclarationSyntax s => s.ReturnType.GetLocation(), - { } otherSyntax => otherSyntax.GetLocation() - }; - - context.ReportDiagnostic(Diagnostic.Create(Descriptor, location, symbol.ReturnType)); - } - } - - foreach (var paramSymbol in symbol.Parameters.Where(ps => IsInternal(context, ps.Type))) - { - foreach (var declaringSyntax in paramSymbol.DeclaringSyntaxReferences) - { - var location = declaringSyntax.GetSyntax() switch - { - CSharpSyntax.ParameterSyntax { Type: not null } s => s.Type.GetLocation(), - - { } otherSyntax => otherSyntax.GetLocation() - }; - - context.ReportDiagnostic(Diagnostic.Create(Descriptor, location, paramSymbol.Type)); - } - } - } - - private static void AnalyzeMemberDeclarationTypeSymbol( - SymbolAnalysisContext context, - ISymbol declarationSymbol, - ITypeSymbol typeSymbol) - { - if (IsInternal(context, typeSymbol)) - { - foreach (var declaringSyntax in declarationSymbol.DeclaringSyntaxReferences) - { - ReportDiagnostic(context, declaringSyntax.GetSyntax(), typeSymbol); - } - } - } - - private static void ReportDiagnostic(OperationAnalysisContext context, object messageArg) - => context.ReportDiagnostic( - Diagnostic.Create(Descriptor, NarrowDownSyntax(context.Operation.Syntax).GetLocation(), messageArg)); - - private static void ReportDiagnostic(SymbolAnalysisContext context, SyntaxNode syntax, object messageArg) - => context.ReportDiagnostic(Diagnostic.Create(Descriptor, NarrowDownSyntax(syntax).GetLocation(), messageArg)); - - /// - /// Given a syntax node, pattern matches some known types and returns a narrowed-down node for the type syntax which - /// should be reported in diagnostics. - /// - private static SyntaxNode NarrowDownSyntax(SyntaxNode syntax) - => syntax switch - { - CSharpSyntax.InvocationExpressionSyntax - { - Expression: CSharpSyntax.MemberAccessExpressionSyntax memberAccessSyntax - } => memberAccessSyntax.Name, - CSharpSyntax.MemberAccessExpressionSyntax s => s.Name, - CSharpSyntax.ObjectCreationExpressionSyntax s => s.Type, - CSharpSyntax.PropertyDeclarationSyntax s => s.Type, - CSharpSyntax.VariableDeclaratorSyntax declarator - => declarator.Parent is CSharpSyntax.VariableDeclarationSyntax declaration - ? declaration.Type - : declarator, - CSharpSyntax.TypeOfExpressionSyntax s => s.Type, - - // TODO: VB syntax narrowing (#22085) - - _ => syntax - }; - - private static bool IsInternal(SymbolAnalysisContext context, ITypeSymbol symbol) - => symbol.ContainingAssembly?.Equals(context.Compilation.Assembly, SymbolEqualityComparer.Default) != true - && (IsInInternalNamespace(symbol) || HasInternalAttribute(symbol)); - - private static bool IsInternal(OperationAnalysisContext context, ITypeSymbol symbol) - => symbol.ContainingAssembly?.Equals(context.Compilation.Assembly, SymbolEqualityComparer.Default) != true - && (IsInInternalNamespace(symbol) || HasInternalAttribute(symbol)); - - private static bool HasInternalAttribute(ISymbol symbol) - => symbol.GetAttributes().Any( - a => - a.AttributeClass!.ToDisplayString() - == "Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkInternalAttribute"); - - private static bool IsInInternalNamespace(ISymbol symbol) - { - if (symbol?.ContainingNamespace?.ToDisplayString() is string ns) - { - var i = ns.IndexOf("EntityFrameworkCore", StringComparison.Ordinal); - - return - i != -1 - && (i == 0 || ns[i - 1] == '.') - && i + EFLen < ns.Length - && ns[i + EFLen] == '.' - && ns.EndsWith(".Internal", StringComparison.Ordinal); - } - - return false; - } -} diff --git a/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesCodeFixProvider.cs b/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesCodeFixProvider.cs index 9a6d0f5cbbf..4ad0cbd0c20 100644 --- a/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesCodeFixProvider.cs +++ b/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesCodeFixProvider.cs @@ -16,7 +16,7 @@ namespace Microsoft.EntityFrameworkCore; public sealed class InterpolatedStringUsageInRawQueriesCodeFixProvider : CodeFixProvider { public override ImmutableArray FixableDiagnosticIds - => ImmutableArray.Create(InterpolatedStringUsageInRawQueriesDiagnosticAnalyzer.Id); + => ImmutableArray.Create(EFDiagnostics.InterpolatedStringUsageInRawQueries); public override FixAllProvider GetFixAllProvider() => WellKnownFixAllProviders.BatchFixer; diff --git a/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesDiagnosticAnalyzer.cs b/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesDiagnosticAnalyzer.cs index 65926f57a5b..4de8039d555 100644 --- a/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesDiagnosticAnalyzer.cs +++ b/src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesDiagnosticAnalyzer.cs @@ -12,12 +12,9 @@ namespace Microsoft.EntityFrameworkCore; [DiagnosticAnalyzer(LanguageNames.CSharp)] public sealed class InterpolatedStringUsageInRawQueriesDiagnosticAnalyzer : DiagnosticAnalyzer { - public const string Id = "EF1002"; - private static readonly DiagnosticDescriptor Descriptor - // HACK: Work around dotnet/roslyn-analyzers#5890 by not using target-typed new - = new DiagnosticDescriptor( - Id, + = new( + EFDiagnostics.InterpolatedStringUsageInRawQueries, title: AnalyzerStrings.InterpolatedStringUsageInRawQueriesAnalyzerTitle, messageFormat: AnalyzerStrings.InterpolatedStringUsageInRawQueriesMessageFormat, category: "Security", diff --git a/src/EFCore.Analyzers/UninitializedDbSetDiagnosticSuppressor.cs b/src/EFCore.Analyzers/UninitializedDbSetDiagnosticSuppressor.cs index 3cb3172cfb5..09c78dfce36 100644 --- a/src/EFCore.Analyzers/UninitializedDbSetDiagnosticSuppressor.cs +++ b/src/EFCore.Analyzers/UninitializedDbSetDiagnosticSuppressor.cs @@ -12,7 +12,7 @@ namespace Microsoft.EntityFrameworkCore; public sealed class UninitializedDbSetDiagnosticSuppressor : DiagnosticSuppressor { private static readonly SuppressionDescriptor SuppressUninitializedDbSetRule = new( - id: "EFSPR1001", + id: EFDiagnostics.SuppressUninitializedDbSetRule, suppressedDiagnosticId: "CS8618", justification: AnalyzerStrings.UninitializedDbSetWarningSuppressionJustification); diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs index 576b8d33c26..a92945d4b55 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class ListComparer : ValueComparer where TCollection : class, IEnumerable { diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableEqualityComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableEqualityComparer.cs index 7a83743c708..43d38b0bc46 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableEqualityComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableEqualityComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class NullableEqualityComparer : IEqualityComparer where T : struct { diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs index 80fcb55b72f..11e70182fd4 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class NullableListComparer : ValueComparer where TCollection : class, IEnumerable where TElement : struct diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs index 240c16903d6..87070281195 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class NullableSingleDimensionalArrayComparer : ValueComparer where TElement : struct { diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableStringDictionaryComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableStringDictionaryComparer.cs index a81fd414687..6feadab1ca4 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableStringDictionaryComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableStringDictionaryComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class NullableStringDictionaryComparer : ValueComparer where TCollection : class, IEnumerable> where TElement : struct diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs index f51422c4f73..c2ed4f6e2a7 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SingleDimensionalArrayComparer : ValueComparer { internal static readonly PropertyInfo ArrayLengthProperty @@ -62,9 +63,9 @@ public override Type Type param1, param2, elementComparer.EqualsExpression), -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. BoolIdentity))))), -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. param1, param2); } @@ -75,7 +76,7 @@ private static Expression> CreateHashCodeExpression(ValueC var aggregateParam = Parameter(typeof(HashCode), "h"); var aggregateElementParam = Parameter(elementType, "e"); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. var aggregateFunc = Lambda>( Call(HashCodeAddMethod, aggregateParam, elementComparer.ExtractHashCodeBody(aggregateElementParam)), aggregateParam, aggregateElementParam); @@ -83,7 +84,7 @@ private static Expression> CreateHashCodeExpression(ValueC var selector = Lambda>( Call(aggregateParam, ToHashCodeMethod), aggregateParam); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. return Lambda>( Call( diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/StringDictionaryComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/StringDictionaryComparer.cs index 00e7de11f15..64c80a0e543 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/StringDictionaryComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/StringDictionaryComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class StringDictionaryComparer : ValueComparer where TCollection : class, IEnumerable> { diff --git a/src/EFCore.Cosmos/Design/Internal/CosmosCSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore.Cosmos/Design/Internal/CosmosCSharpRuntimeAnnotationCodeGenerator.cs index fbea3aeaada..040beb21941 100644 --- a/src/EFCore.Cosmos/Design/Internal/CosmosCSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore.Cosmos/Design/Internal/CosmosCSharpRuntimeAnnotationCodeGenerator.cs @@ -12,7 +12,8 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Design.Internal; /// 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. /// -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosCSharpRuntimeAnnotationCodeGenerator : CSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore.Cosmos/Design/Internal/CosmosDesignTimeServices.cs b/src/EFCore.Cosmos/Design/Internal/CosmosDesignTimeServices.cs index 557289d3202..2130b5957f6 100644 --- a/src/EFCore.Cosmos/Design/Internal/CosmosDesignTimeServices.cs +++ b/src/EFCore.Cosmos/Design/Internal/CosmosDesignTimeServices.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosDesignTimeServices : IDesignTimeServices { /// @@ -24,10 +25,10 @@ public class CosmosDesignTimeServices : IDesignTimeServices public virtual void ConfigureDesignTimeServices(IServiceCollection serviceCollection) { serviceCollection.AddEntityFrameworkCosmos(); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. new EntityFrameworkDesignServicesBuilder(serviceCollection) .TryAdd() -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. .TryAddCoreServices(); } } diff --git a/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggerExtensions.cs b/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggerExtensions.cs index 2048ca35836..f352f5652a7 100644 --- a/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggerExtensions.cs +++ b/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggerExtensions.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosLoggerExtensions { /// diff --git a/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggingDefinitions.cs b/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggingDefinitions.cs index 168765dbccc..ea9030411c8 100644 --- a/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggingDefinitions.cs +++ b/src/EFCore.Cosmos/Diagnostics/Internal/CosmosLoggingDefinitions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosLoggingDefinitions : LoggingDefinitions { /// diff --git a/src/EFCore.Cosmos/EFCore.Cosmos.csproj b/src/EFCore.Cosmos/EFCore.Cosmos.csproj index 02536555d5b..0dd001455d4 100644 --- a/src/EFCore.Cosmos/EFCore.Cosmos.csproj +++ b/src/EFCore.Cosmos/EFCore.Cosmos.csproj @@ -9,10 +9,12 @@ true $(PackageTags);CosmosDb;SQL API true + $(NoWarn);EF9999 + diff --git a/src/EFCore.Cosmos/Extensions/CosmosQueryableExtensions.cs b/src/EFCore.Cosmos/Extensions/CosmosQueryableExtensions.cs index 603a2eb5cb0..49ad2d03450 100644 --- a/src/EFCore.Cosmos/Extensions/CosmosQueryableExtensions.cs +++ b/src/EFCore.Cosmos/Extensions/CosmosQueryableExtensions.cs @@ -39,6 +39,7 @@ public static IQueryable WithPartitionKey( { Check.NotNull(partitionKey, nameof(partitionKey)); +#pragma warning disable EF9901 // Internal EF Core API usage. return source.Provider is EntityQueryProvider ? source.Provider.CreateQuery( @@ -48,6 +49,7 @@ source.Provider is EntityQueryProvider source.Expression, Expression.Constant(partitionKey))) : source; +#pragma warning restore EF9901 // Internal EF Core API usage. } /// diff --git a/src/EFCore.Cosmos/Extensions/Internal/CosmosExpressionExtensions.cs b/src/EFCore.Cosmos/Extensions/Internal/CosmosExpressionExtensions.cs index 468bf93fa08..e183211aa79 100644 --- a/src/EFCore.Cosmos/Extensions/Internal/CosmosExpressionExtensions.cs +++ b/src/EFCore.Cosmos/Extensions/Internal/CosmosExpressionExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosExpressionExtensions { /// diff --git a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosDbOptionExtension.cs b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosDbOptionExtension.cs index 3be325f2634..7f064735dbd 100644 --- a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosDbOptionExtension.cs +++ b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosDbOptionExtension.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosOptionsExtension : IDbContextOptionsExtension { private string? _accountEndpoint; diff --git a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs index 8734305b709..8f2b4c5bf38 100644 --- a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs +++ b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosModelValidator : ModelValidator { /// diff --git a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosSingletonOptions.cs b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosSingletonOptions.cs index dd911b7206c..0d279afa331 100644 --- a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosSingletonOptions.cs +++ b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosSingletonOptions.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosSingletonOptions : ICosmosSingletonOptions { /// diff --git a/src/EFCore.Cosmos/Infrastructure/Internal/ICosmosSingletonOptions.cs b/src/EFCore.Cosmos/Infrastructure/Internal/ICosmosSingletonOptions.cs index a26b79a82b3..4ac61a1d031 100644 --- a/src/EFCore.Cosmos/Infrastructure/Internal/ICosmosSingletonOptions.cs +++ b/src/EFCore.Cosmos/Infrastructure/Internal/ICosmosSingletonOptions.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Infrastructure.Internal; /// instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ICosmosSingletonOptions : ISingletonOptions { /// diff --git a/src/EFCore.Cosmos/Metadata/Conventions/Internal/CosmosConventionSetBuilder.cs b/src/EFCore.Cosmos/Metadata/Conventions/Internal/CosmosConventionSetBuilder.cs index 46e8eeda1a6..7a26971a5a5 100644 --- a/src/EFCore.Cosmos/Metadata/Conventions/Internal/CosmosConventionSetBuilder.cs +++ b/src/EFCore.Cosmos/Metadata/Conventions/Internal/CosmosConventionSetBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosConventionSetBuilder : ProviderConventionSetBuilder { /// diff --git a/src/EFCore.Cosmos/Metadata/Conventions/StoreKeyConvention.cs b/src/EFCore.Cosmos/Metadata/Conventions/StoreKeyConvention.cs index 343f536f398..931696c3d31 100644 --- a/src/EFCore.Cosmos/Metadata/Conventions/StoreKeyConvention.cs +++ b/src/EFCore.Cosmos/Metadata/Conventions/StoreKeyConvention.cs @@ -37,7 +37,7 @@ public class StoreKeyConvention : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static readonly string IdPropertyJsonName = "id"; /// @@ -46,7 +46,7 @@ public class StoreKeyConvention : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static readonly string DefaultIdPropertyName = "__id"; /// @@ -55,7 +55,7 @@ public class StoreKeyConvention : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static readonly string JObjectPropertyName = "__jObject"; /// diff --git a/src/EFCore.Cosmos/Metadata/Internal/CosmosAnnotationNames.cs b/src/EFCore.Cosmos/Metadata/Internal/CosmosAnnotationNames.cs index d81ca49f4a1..be77cde03a3 100644 --- a/src/EFCore.Cosmos/Metadata/Internal/CosmosAnnotationNames.cs +++ b/src/EFCore.Cosmos/Metadata/Internal/CosmosAnnotationNames.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosAnnotationNames { /// diff --git a/src/EFCore.Cosmos/Metadata/Internal/CosmosEntityTypeExtensions.cs b/src/EFCore.Cosmos/Metadata/Internal/CosmosEntityTypeExtensions.cs index 45f84c93ef0..774d82b7973 100644 --- a/src/EFCore.Cosmos/Metadata/Internal/CosmosEntityTypeExtensions.cs +++ b/src/EFCore.Cosmos/Metadata/Internal/CosmosEntityTypeExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosEntityTypeExtensions { /// diff --git a/src/EFCore.Cosmos/Metadata/Internal/CosmosNavigationExtensions.cs b/src/EFCore.Cosmos/Metadata/Internal/CosmosNavigationExtensions.cs index 31e5c90ae26..22aa1d0d4dc 100644 --- a/src/EFCore.Cosmos/Metadata/Internal/CosmosNavigationExtensions.cs +++ b/src/EFCore.Cosmos/Metadata/Internal/CosmosNavigationExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosNavigationExtensions { /// diff --git a/src/EFCore.Cosmos/Metadata/Internal/CosmosPropertyExtensions.cs b/src/EFCore.Cosmos/Metadata/Internal/CosmosPropertyExtensions.cs index 24231c8a73c..2dd7c94f584 100644 --- a/src/EFCore.Cosmos/Metadata/Internal/CosmosPropertyExtensions.cs +++ b/src/EFCore.Cosmos/Metadata/Internal/CosmosPropertyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosPropertyExtensions { /// diff --git a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs index 773f416d117..209b835f735 100644 --- a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs +++ b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosStrings { private static readonly ResourceManager _resourceManager @@ -410,6 +411,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class CosmosResources { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.tt b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.tt index 3d0b6b41405..269ad030d0c 100644 --- a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.tt +++ b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.tt @@ -3,5 +3,6 @@ Session["ResourceFile"] = "CosmosStrings.resx"; Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Cosmos.Properties"; Session["LoggingDefinitionsClass"] = "Diagnostics.Internal.CosmosLoggingDefinitions"; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.Cosmos/Query/Internal/CollectionShaperExpression.cs b/src/EFCore.Cosmos/Query/Internal/CollectionShaperExpression.cs index cdbfd013e93..9ddd2265395 100644 --- a/src/EFCore.Cosmos/Query/Internal/CollectionShaperExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/CollectionShaperExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CollectionShaperExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosDateTimeMemberTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosDateTimeMemberTranslator.cs index f2147e2f375..cb664a4a11a 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosDateTimeMemberTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosDateTimeMemberTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosDateTimeMemberTranslator : IMemberTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosEqualsTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosEqualsTranslator.cs index 116f02013eb..4a9784c4271 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosEqualsTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosEqualsTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosEqualsTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosMathTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosMathTranslator.cs index 3a97e260579..af379eff164 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosMathTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosMathTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosMathTranslator : IMethodCallTranslator { private static readonly Dictionary SupportedMethodTranslations = new() diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosMemberTranslatorProvider.cs b/src/EFCore.Cosmos/Query/Internal/CosmosMemberTranslatorProvider.cs index 8731fa048c9..e25b6f4fd45 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosMemberTranslatorProvider.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosMemberTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosMemberTranslatorProvider : IMemberTranslatorProvider { private readonly List _plugins = []; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosMethodCallTranslatorProvider.cs b/src/EFCore.Cosmos/Query/Internal/CosmosMethodCallTranslatorProvider.cs index 3b7ec71d9c2..12dedfe1be6 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosMethodCallTranslatorProvider.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosMethodCallTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosMethodCallTranslatorProvider : IMethodCallTranslatorProvider { private readonly List _plugins = []; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosProjectionBindingExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosProjectionBindingExpressionVisitor.cs index b6f4575b4b0..d270f893906 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosProjectionBindingExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosProjectionBindingExpressionVisitor.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosProjectionBindingExpressionVisitor : ExpressionVisitor { private static readonly MethodInfo GetParameterValueMethodInfo diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContext.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContext.cs index c7c1ab05b34..dd4a80dd483 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContext.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryCompilationContext : QueryCompilationContext { /// diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContextFactory.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContextFactory.cs index c1c41af7c4c..5f9beada919 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContextFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryCompilationContextFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryCompilationContextFactory : IQueryCompilationContextFactory { /// diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryContext.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryContext.cs index b9af32451e9..3f12e563173 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryContext.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryContext.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryContext : QueryContext { /// diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryContextFactory.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryContextFactory.cs index 20b3c8fa339..fb6055779da 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryContextFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryContextFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryContextFactory : IQueryContextFactory { private readonly ICosmosClientWrapper _cosmosClient; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryMetadataExtractingExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryMetadataExtractingExpressionVisitor.cs index 5b78aa9a41b..bde6f100e37 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryMetadataExtractingExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryMetadataExtractingExpressionVisitor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryMetadataExtractingExpressionVisitor : ExpressionVisitor { private readonly CosmosQueryCompilationContext _cosmosQueryCompilationContext; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessor.cs index d12e84c0317..e99b5690dbb 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryTranslationPostprocessor : QueryTranslationPostprocessor { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessorFactory.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessorFactory.cs index bf59447672c..511e8e90c43 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessorFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPostprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryTranslationPostprocessorFactory : IQueryTranslationPostprocessorFactory { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessor.cs index c23bb8d3b33..2e6eacea06e 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryTranslationPreprocessor : QueryTranslationPreprocessor { private readonly CosmosQueryCompilationContext _queryCompilationContext; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessorFactory.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessorFactory.cs index c5aad4c60fb..1694962e5f7 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessorFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryTranslationPreprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryTranslationPreprocessorFactory : IQueryTranslationPreprocessorFactory { /// diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitor.cs index b318e496f50..df6b88eaa51 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitor.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryableMethodTranslatingExpressionVisitor : QueryableMethodTranslatingExpressionVisitor { private readonly QueryCompilationContext _queryCompilationContext; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitorFactory.cs b/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitorFactory.cs index 5a2f6c0d504..31583ebf809 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosQueryableMethodTranslatingExpressionVisitorFactory : IQueryableMethodTranslatingExpressionVisitorFactory { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosRandomTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosRandomTranslator.cs index 45fbd270270..2899b95109a 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosRandomTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosRandomTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosRandomTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo = typeof(DbFunctionsExtensions).GetRuntimeMethod( diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosRegexTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosRegexTranslator.cs index f734fb9d01d..3c38ea4d483 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosRegexTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosRegexTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosRegexTranslator : IMethodCallTranslator { private static readonly MethodInfo IsMatch = diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.CosmosProjectionBindingRemovingExpressionVisitorBase.cs b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.CosmosProjectionBindingRemovingExpressionVisitorBase.cs index d9ec6a59801..574570cfc3f 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.CosmosProjectionBindingRemovingExpressionVisitorBase.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.CosmosProjectionBindingRemovingExpressionVisitorBase.cs @@ -351,11 +351,11 @@ private void AddInclude( var includeMethod = navigation.IsCollection ? IncludeCollectionMethodInfo : IncludeReferenceMethodInfo; var includingClrType = navigation.DeclaringEntityType.ClrType; var relatedEntityClrType = navigation.TargetEntityType.ClrType; -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. var entityEntryVariable = _trackQueryResults ? shaperBlock.Variables.Single(v => v.Type == typeof(InternalEntityEntry)) : (Expression)Constant(null, typeof(InternalEntityEntry)); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var concreteEntityTypeVariable = shaperBlock.Variables.Single(v => v.Type == typeof(IEntityType)); var inverseNavigation = navigation.Inverse; @@ -381,9 +381,9 @@ private void AddInclude( Constant(inverseNavigation, typeof(INavigation)), Constant(fixup), Constant(initialize, typeof(Action<>).MakeGenericType(includingClrType)), -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. Constant(includeExpression.SetLoaded)))); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } private static readonly MethodInfo IncludeReferenceMethodInfo @@ -391,9 +391,9 @@ private static readonly MethodInfo IncludeReferenceMethodInfo .GetDeclaredMethod(nameof(IncludeReference)); private static void IncludeReference( -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. InternalEntityEntry entry, -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. object entity, IEntityType entityType, TIncludedEntity relatedEntity, @@ -425,9 +425,9 @@ private static void IncludeReference( // For non-null relatedEntity StateManager will set the flag else if (relatedEntity == null) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. entry.SetIsLoaded(navigation); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } } @@ -436,9 +436,9 @@ private static readonly MethodInfo IncludeCollectionMethodInfo .GetDeclaredMethod(nameof(IncludeCollection)); private static void IncludeCollection( -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. InternalEntityEntry entry, -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. object entity, IEntityType entityType, IEnumerable relatedEntities, @@ -476,9 +476,9 @@ private static void IncludeCollection( { if (setLoaded) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. entry.SetIsLoaded(navigation); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } if (relatedEntities != null) diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs index fcdaa95da0e..250be5017f4 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.ReadItemQueryingEnumerable.cs @@ -132,10 +132,10 @@ private bool TryGenerateIdFromKeys(IProperty idProperty, out object value) { var entityEntry = Activator.CreateInstance(_readItemExpression.EntityType.ClrType); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. var internalEntityEntry = new InternalEntityEntry( _cosmosQueryContext.Context.GetDependencies().StateManager, _readItemExpression.EntityType, entityEntry); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. foreach (var keyProperty in _readItemExpression.EntityType.FindPrimaryKey().Properties) { @@ -143,19 +143,19 @@ private bool TryGenerateIdFromKeys(IProperty idProperty, out object value) if (TryGetParameterValue(property, out var parameterValue)) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. internalEntityEntry[property] = parameterValue; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } } -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. internalEntityEntry.SetEntityState(EntityState.Added); value = internalEntityEntry[idProperty]; internalEntityEntry.SetEntityState(EntityState.Detached); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. return value != null; } diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.cs index d788bf27c9f..f86e7dd26ce 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public partial class CosmosShapedQueryCompilingExpressionVisitor : ShapedQueryCompilingExpressionVisitor { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitorFactory.cs b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitorFactory.cs index d3cff4a0151..5fe30b00001 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitorFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitorFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosShapedQueryCompilingExpressionVisitorFactory : IShapedQueryCompilingExpressionVisitorFactory { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosSqlTranslatingExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosSqlTranslatingExpressionVisitor.cs index 2cdd08142cb..bb6fe9b88d1 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosSqlTranslatingExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosSqlTranslatingExpressionVisitor.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosSqlTranslatingExpressionVisitor : ExpressionVisitor { private const string RuntimeParameterPrefix = QueryCompilationContext.QueryParameterPrefix + "entity_equality_"; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosStringMemberTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosStringMemberTranslator.cs index 5d13ccf6d06..8a6169d0c27 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosStringMemberTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosStringMemberTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosStringMemberTranslator : IMemberTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosStringMethodTranslator.cs b/src/EFCore.Cosmos/Query/Internal/CosmosStringMethodTranslator.cs index 8d5faa53169..3ec44337c85 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosStringMethodTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosStringMethodTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosStringMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo IndexOfMethodInfo diff --git a/src/EFCore.Cosmos/Query/Internal/CosmosValueConverterCompensatingExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/CosmosValueConverterCompensatingExpressionVisitor.cs index 93186137780..20821165955 100644 --- a/src/EFCore.Cosmos/Query/Internal/CosmosValueConverterCompensatingExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/CosmosValueConverterCompensatingExpressionVisitor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosValueConverterCompensatingExpressionVisitor : ExpressionVisitor { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Cosmos/Query/Internal/EntityProjectionExpression.cs b/src/EFCore.Cosmos/Query/Internal/EntityProjectionExpression.cs index abcd196ab7d..460bd271195 100644 --- a/src/EFCore.Cosmos/Query/Internal/EntityProjectionExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/EntityProjectionExpression.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class EntityProjectionExpression : Expression, IPrintableExpression, IAccessExpression { private readonly Dictionary _propertyExpressionsMap = new(); diff --git a/src/EFCore.Cosmos/Query/Internal/ExpressionExtensions.cs b/src/EFCore.Cosmos/Query/Internal/ExpressionExtensions.cs index 56b797680d9..d26896c3123 100644 --- a/src/EFCore.Cosmos/Query/Internal/ExpressionExtensions.cs +++ b/src/EFCore.Cosmos/Query/Internal/ExpressionExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class ExpressionExtensions { /// diff --git a/src/EFCore.Cosmos/Query/Internal/FromSqlExpression.cs b/src/EFCore.Cosmos/Query/Internal/FromSqlExpression.cs index c4463c8bfa2..4d27719dc6f 100644 --- a/src/EFCore.Cosmos/Query/Internal/FromSqlExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/FromSqlExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class FromSqlExpression : RootReferenceExpression, IPrintableExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/FromSqlQueryRootExpression.cs b/src/EFCore.Cosmos/Query/Internal/FromSqlQueryRootExpression.cs index 3cbaead7ac7..d52c7b38201 100644 --- a/src/EFCore.Cosmos/Query/Internal/FromSqlQueryRootExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/FromSqlQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class FromSqlQueryRootExpression : EntityQueryRootExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IAccessExpression.cs b/src/EFCore.Cosmos/Query/Internal/IAccessExpression.cs index ec9719b3925..3056c5e5114 100644 --- a/src/EFCore.Cosmos/Query/Internal/IAccessExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/IAccessExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IAccessExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IMemberTranslator.cs b/src/EFCore.Cosmos/Query/Internal/IMemberTranslator.cs index a3f8435745a..c2f16675e43 100644 --- a/src/EFCore.Cosmos/Query/Internal/IMemberTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/IMemberTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IMemberTranslator { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorPlugin.cs b/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorPlugin.cs index c250a8eec56..f78f9306c38 100644 --- a/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorPlugin.cs +++ b/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IMemberTranslatorPlugin { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorProvider.cs b/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorProvider.cs index 59643f336cc..97347a5ee8a 100644 --- a/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorProvider.cs +++ b/src/EFCore.Cosmos/Query/Internal/IMemberTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IMemberTranslatorProvider { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslator.cs b/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslator.cs index fb096799a19..1d5a0cd29b6 100644 --- a/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslator.cs +++ b/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IMethodCallTranslator { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorPlugin.cs b/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorPlugin.cs index df88da19f32..c9a656dcaf5 100644 --- a/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorPlugin.cs +++ b/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IMethodCallTranslatorPlugin { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorProvider.cs b/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorProvider.cs index 0a2fb1fd9b5..bbbf00a9523 100644 --- a/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorProvider.cs +++ b/src/EFCore.Cosmos/Query/Internal/IMethodCallTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IMethodCallTranslatorProvider { /// diff --git a/src/EFCore.Cosmos/Query/Internal/IQuerySqlGeneratorFactory.cs b/src/EFCore.Cosmos/Query/Internal/IQuerySqlGeneratorFactory.cs index c087e65a466..7bc7ebc5c9f 100644 --- a/src/EFCore.Cosmos/Query/Internal/IQuerySqlGeneratorFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/IQuerySqlGeneratorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IQuerySqlGeneratorFactory { /// diff --git a/src/EFCore.Cosmos/Query/Internal/ISqlExpressionFactory.cs b/src/EFCore.Cosmos/Query/Internal/ISqlExpressionFactory.cs index 6981ebbc73e..d8ba65075b5 100644 --- a/src/EFCore.Cosmos/Query/Internal/ISqlExpressionFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/ISqlExpressionFactory.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// @@ -11,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqlExpressionFactory { /// diff --git a/src/EFCore.Cosmos/Query/Internal/InExpression.cs b/src/EFCore.Cosmos/Query/Internal/InExpression.cs index 9abd5d54ff8..343850bd229 100644 --- a/src/EFCore.Cosmos/Query/Internal/InExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/InExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InExpression : SqlExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/KeyAccessExpression.cs b/src/EFCore.Cosmos/Query/Internal/KeyAccessExpression.cs index 3e51e1bbbf5..14208fed485 100644 --- a/src/EFCore.Cosmos/Query/Internal/KeyAccessExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/KeyAccessExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class KeyAccessExpression : SqlExpression, IAccessExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/ObjectAccessExpression.cs b/src/EFCore.Cosmos/Query/Internal/ObjectAccessExpression.cs index 22cf6862f75..abfc4e08439 100644 --- a/src/EFCore.Cosmos/Query/Internal/ObjectAccessExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/ObjectAccessExpression.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class ObjectAccessExpression : Expression, IPrintableExpression, IAccessExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/ObjectArrayProjectionExpression.cs b/src/EFCore.Cosmos/Query/Internal/ObjectArrayProjectionExpression.cs index b8aa3224831..9f362e0a126 100644 --- a/src/EFCore.Cosmos/Query/Internal/ObjectArrayProjectionExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/ObjectArrayProjectionExpression.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class ObjectArrayProjectionExpression : Expression, IPrintableExpression, IAccessExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/OrderingExpression.cs b/src/EFCore.Cosmos/Query/Internal/OrderingExpression.cs index 2b6b33c467d..995b777fc89 100644 --- a/src/EFCore.Cosmos/Query/Internal/OrderingExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/OrderingExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class OrderingExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/ProjectionExpression.cs b/src/EFCore.Cosmos/Query/Internal/ProjectionExpression.cs index d4dbb52baf0..6444bd32423 100644 --- a/src/EFCore.Cosmos/Query/Internal/ProjectionExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/ProjectionExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class ProjectionExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/QuerySqlGenerator.cs b/src/EFCore.Cosmos/Query/Internal/QuerySqlGenerator.cs index 48303d676af..cc05d915b02 100644 --- a/src/EFCore.Cosmos/Query/Internal/QuerySqlGenerator.cs +++ b/src/EFCore.Cosmos/Query/Internal/QuerySqlGenerator.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class QuerySqlGenerator : SqlExpressionVisitor { private readonly ITypeMappingSource _typeMappingSource; diff --git a/src/EFCore.Cosmos/Query/Internal/QuerySqlGeneratorFactory.cs b/src/EFCore.Cosmos/Query/Internal/QuerySqlGeneratorFactory.cs index f98f431dd74..37932ff5eb4 100644 --- a/src/EFCore.Cosmos/Query/Internal/QuerySqlGeneratorFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/QuerySqlGeneratorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class QuerySqlGeneratorFactory : IQuerySqlGeneratorFactory { private readonly ITypeMappingSource _typeMappingSource; diff --git a/src/EFCore.Cosmos/Query/Internal/ReadItemExpression.cs b/src/EFCore.Cosmos/Query/Internal/ReadItemExpression.cs index eb8f868f6e4..a530812fdb2 100644 --- a/src/EFCore.Cosmos/Query/Internal/ReadItemExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/ReadItemExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class ReadItemExpression : Expression { private const string RootAlias = "c"; diff --git a/src/EFCore.Cosmos/Query/Internal/RootReferenceExpression.cs b/src/EFCore.Cosmos/Query/Internal/RootReferenceExpression.cs index 90715ff3ae4..52de2037534 100644 --- a/src/EFCore.Cosmos/Query/Internal/RootReferenceExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/RootReferenceExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class RootReferenceExpression : Expression, IAccessExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/SelectExpression.cs b/src/EFCore.Cosmos/Query/Internal/SelectExpression.cs index 354c7afb337..0e0bfffcd24 100644 --- a/src/EFCore.Cosmos/Query/Internal/SelectExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SelectExpression.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SelectExpression : Expression { private const string RootAlias = "c"; diff --git a/src/EFCore.Cosmos/Query/Internal/SqlBinaryExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlBinaryExpression.cs index 7e5d3ab909a..0571f331212 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlBinaryExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlBinaryExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlBinaryExpression : SqlExpression { private static readonly ISet AllowedOperators = new HashSet diff --git a/src/EFCore.Cosmos/Query/Internal/SqlConditionalExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlConditionalExpression.cs index 425ef940d2d..95ccc3684c9 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlConditionalExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlConditionalExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlConditionalExpression : SqlExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/SqlConstantExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlConstantExpression.cs index 30fe132d68b..4a059a6ce75 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlConstantExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlConstantExpression.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlConstantExpression : SqlExpression { private readonly ConstantExpression _constantExpression; diff --git a/src/EFCore.Cosmos/Query/Internal/SqlExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlExpression.cs index e80c5d30ac1..5b1ce179f7a 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public abstract class SqlExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/SqlExpressionFactory.cs b/src/EFCore.Cosmos/Query/Internal/SqlExpressionFactory.cs index 040d2f7e05d..734c457be26 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlExpressionFactory.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlExpressionFactory.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Cosmos.Internal; using Microsoft.EntityFrameworkCore.Internal; @@ -13,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlExpressionFactory : ISqlExpressionFactory { private readonly ITypeMappingSource _typeMappingSource; diff --git a/src/EFCore.Cosmos/Query/Internal/SqlExpressionVisitor.cs b/src/EFCore.Cosmos/Query/Internal/SqlExpressionVisitor.cs index 6d5748089ed..3d178572f76 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlExpressionVisitor.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlExpressionVisitor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public abstract class SqlExpressionVisitor : ExpressionVisitor { /// diff --git a/src/EFCore.Cosmos/Query/Internal/SqlFunctionExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlFunctionExpression.cs index c8d7fb4c1ad..06b8580ac72 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlFunctionExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlFunctionExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlFunctionExpression : SqlExpression { /// diff --git a/src/EFCore.Cosmos/Query/Internal/SqlParameterExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlParameterExpression.cs index 72bff024491..63baa6077f1 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlParameterExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlParameterExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SqlParameterExpression : SqlExpression { private readonly ParameterExpression _parameterExpression; diff --git a/src/EFCore.Cosmos/Query/Internal/SqlUnaryExpression.cs b/src/EFCore.Cosmos/Query/Internal/SqlUnaryExpression.cs index 38bd9eb4820..2f2fc8c442d 100644 --- a/src/EFCore.Cosmos/Query/Internal/SqlUnaryExpression.cs +++ b/src/EFCore.Cosmos/Query/Internal/SqlUnaryExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlUnaryExpression : SqlExpression { private static readonly ISet AllowedOperators = new HashSet diff --git a/src/EFCore.Cosmos/Storage/Internal/ByteArrayConverter.cs b/src/EFCore.Cosmos/Storage/Internal/ByteArrayConverter.cs index 75ca94f1a4e..a7927207d46 100644 --- a/src/EFCore.Cosmos/Storage/Internal/ByteArrayConverter.cs +++ b/src/EFCore.Cosmos/Storage/Internal/ByteArrayConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class ByteArrayConverter : JsonConverter { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/ContainerProperties.cs b/src/EFCore.Cosmos/Storage/Internal/ContainerProperties.cs index f761557b183..971e7ccfe6b 100644 --- a/src/EFCore.Cosmos/Storage/Internal/ContainerProperties.cs +++ b/src/EFCore.Cosmos/Storage/Internal/ContainerProperties.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public readonly record struct ContainerProperties { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosClientWrapper.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosClientWrapper.cs index 3bd43272772..b8ff1ed20bc 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosClientWrapper.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosClientWrapper.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; -using System.Diagnostics.CodeAnalysis; using System.Net; using System.Runtime.CompilerServices; using System.Text; @@ -19,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosClientWrapper : ICosmosClientWrapper { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseCreator.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseCreator.cs index 826c9c759f4..ed08a511950 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseCreator.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseCreator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosDatabaseCreator : IDatabaseCreator { private readonly ICosmosClientWrapper _cosmosClient; diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseWrapper.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseWrapper.cs index 87632517098..fba17da7677 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseWrapper.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosDatabaseWrapper.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosDatabaseWrapper : Database { private readonly Dictionary _documentCollections = new(); @@ -66,18 +67,18 @@ public override int SaveChanges(IList entries) if (!entityType.IsDocumentRoot()) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var root = GetRootDocument((InternalEntityEntry)entry); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. if (!entriesSaved.Contains(root) && rootEntriesToSave.Add(root) && root.EntityState == EntityState.Unchanged) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 ((InternalEntityEntry)root).SetEntityState(EntityState.Modified); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. entries.Add(root); } @@ -143,19 +144,19 @@ public override async Task SaveChangesAsync( if (!entityType.IsDocumentRoot()) { +#pragma warning disable EF9901 // Internal EF Core API usage. var root = GetRootDocument((InternalEntityEntry)entry); if (!entriesSaved.Contains(root) && rootEntriesToSave.Add(root) && root.EntityState == EntityState.Unchanged) { -#pragma warning disable EF1001 // Internal EF Core API usage. // #16707 ((InternalEntityEntry)root).SetEntityState(EntityState.Modified); -#pragma warning restore EF1001 // Internal EF Core API usage. entries.Add(root); } continue; +#pragma warning restore EF9901 // Internal EF Core API usage. } entriesSaved.Add(entry); @@ -350,7 +351,7 @@ public virtual DocumentSource GetDocumentSource(IEntityType entityType) return documentSource; } -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // Issue #16707 private IUpdateEntry GetRootDocument(InternalEntityEntry entry) { @@ -376,7 +377,7 @@ private IUpdateEntry GetRootDocument(InternalEntityEntry entry) return principal.EntityType.IsDocumentRoot() ? principal : GetRootDocument(principal); } -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. private Exception WrapUpdateException(Exception exception, IReadOnlyList entries) { diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategy.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategy.cs index b1225d74355..fbd459b06ba 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategy.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategy.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosExecutionStrategy : ExecutionStrategy { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategyFactory.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategyFactory.cs index c1cfcd092cb..1c8ba329dd1 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategyFactory.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosExecutionStrategyFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosExecutionStrategyFactory : IExecutionStrategyFactory { private readonly Func _createExecutionStrategy; diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosSqlQuery.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosSqlQuery.cs index 5b249fc3d03..44d6e50fbd1 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosSqlQuery.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosSqlQuery.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosSqlQuery { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosTransactionManager.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosTransactionManager.cs index f749d5278b2..dc4bd02378e 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosTransactionManager.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosTransactionManager.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosTransactionManager : IDbContextTransactionManager, ITransactionEnlistmentManager { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMapping.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMapping.cs index d2e9b00b9fd..8df2993247f 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMapping.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosTypeMapping : CoreTypeMapping { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs index 8f7cc37bd56..62b55ab5ccc 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosTypeMappingSource : TypeMappingSource { private readonly Dictionary _clrTypeMappings; diff --git a/src/EFCore.Cosmos/Storage/Internal/HttpException.cs b/src/EFCore.Cosmos/Storage/Internal/HttpException.cs index 7a3b43ac727..6b2232b25cf 100644 --- a/src/EFCore.Cosmos/Storage/Internal/HttpException.cs +++ b/src/EFCore.Cosmos/Storage/Internal/HttpException.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class HttpException : Exception { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/ICosmosClientWrapper.cs b/src/EFCore.Cosmos/Storage/Internal/ICosmosClientWrapper.cs index 149fc7ad2f7..5d4c1443769 100644 --- a/src/EFCore.Cosmos/Storage/Internal/ICosmosClientWrapper.cs +++ b/src/EFCore.Cosmos/Storage/Internal/ICosmosClientWrapper.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ICosmosClientWrapper { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/ISingletonCosmosClientWrapper.cs b/src/EFCore.Cosmos/Storage/Internal/ISingletonCosmosClientWrapper.cs index 65d46d2a2ba..6ed78a65451 100644 --- a/src/EFCore.Cosmos/Storage/Internal/ISingletonCosmosClientWrapper.cs +++ b/src/EFCore.Cosmos/Storage/Internal/ISingletonCosmosClientWrapper.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISingletonCosmosClientWrapper : IDisposable { /// diff --git a/src/EFCore.Cosmos/Storage/Internal/JsonCosmosSerializer.cs b/src/EFCore.Cosmos/Storage/Internal/JsonCosmosSerializer.cs index 9028cd3b0e6..6cad23b982b 100644 --- a/src/EFCore.Cosmos/Storage/Internal/JsonCosmosSerializer.cs +++ b/src/EFCore.Cosmos/Storage/Internal/JsonCosmosSerializer.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class JsonCosmosSerializer : CosmosSerializer { private static readonly Encoding DefaultEncoding = new UTF8Encoding(false, true); diff --git a/src/EFCore.Cosmos/Storage/Internal/SingletonCosmosClientWrapper.cs b/src/EFCore.Cosmos/Storage/Internal/SingletonCosmosClientWrapper.cs index 3e090616a84..a63d5ca89f1 100644 --- a/src/EFCore.Cosmos/Storage/Internal/SingletonCosmosClientWrapper.cs +++ b/src/EFCore.Cosmos/Storage/Internal/SingletonCosmosClientWrapper.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SingletonCosmosClientWrapper : ISingletonCosmosClientWrapper { private static readonly string UserAgent = " Microsoft.EntityFrameworkCore.Cosmos/" + ProductInfo.GetVersion(); diff --git a/src/EFCore.Cosmos/Storage/Internal/SqlParameter.cs b/src/EFCore.Cosmos/Storage/Internal/SqlParameter.cs index aa36bb52bdd..5d5fa37d3ff 100644 --- a/src/EFCore.Cosmos/Storage/Internal/SqlParameter.cs +++ b/src/EFCore.Cosmos/Storage/Internal/SqlParameter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlParameter { /// diff --git a/src/EFCore.Cosmos/Update/Internal/DocumentSource.cs b/src/EFCore.Cosmos/Update/Internal/DocumentSource.cs index d479da1caa1..d2f2c813673 100644 --- a/src/EFCore.Cosmos/Update/Internal/DocumentSource.cs +++ b/src/EFCore.Cosmos/Update/Internal/DocumentSource.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class DocumentSource { private readonly string _containerId; @@ -112,30 +113,30 @@ public virtual JObject CreateDocument(IUpdateEntry entry, int? ordinal) } else if (fk.IsUnique) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var dependentEntry = ((InternalEntityEntry)entry).StateManager.TryGetEntry(embeddedValue, fk.DeclaringEntityType)!; document[embeddedPropertyName] = _database.GetDocumentSource(dependentEntry.EntityType).CreateDocument(dependentEntry); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } else { SetTemporaryOrdinals(entry, fk, embeddedValue); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var stateManager = ((InternalEntityEntry)entry).StateManager; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var embeddedOrdinal = 1; var array = new JArray(); foreach (var dependent in (IEnumerable)embeddedValue) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var dependentEntry = stateManager.TryGetEntry(dependent, fk.DeclaringEntityType)!; array.Add(_database.GetDocumentSource(dependentEntry.EntityType).CreateDocument(dependentEntry, embeddedOrdinal)); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. embeddedOrdinal++; } @@ -209,10 +210,10 @@ public virtual JObject CreateDocument(IUpdateEntry entry, int? ordinal) } else if (fk.IsUnique) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var embeddedEntry = ((InternalEntityEntry)entry).StateManager.TryGetEntry(embeddedValue, fk.DeclaringEntityType)!; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var embeddedDocument = embeddedDocumentSource.GetCurrentDocument(embeddedEntry); embeddedDocument = embeddedDocument != null @@ -229,19 +230,19 @@ public virtual JObject CreateDocument(IUpdateEntry entry, int? ordinal) { SetTemporaryOrdinals(entry, fk, embeddedValue); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var stateManager = ((InternalEntityEntry)entry).StateManager; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var embeddedOrdinal = 1; var array = new JArray(); foreach (var dependent in (IEnumerable)embeddedValue) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var embeddedEntry = stateManager.TryGetEntry(dependent, fk.DeclaringEntityType)!; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var embeddedDocument = embeddedDocumentSource.GetCurrentDocument(embeddedEntry); embeddedDocument = embeddedDocument != null @@ -269,14 +270,14 @@ private static void SetTemporaryOrdinals( var ordinalKeyProperty = FindOrdinalKeyProperty(fk.DeclaringEntityType); if (ordinalKeyProperty != null) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var stateManager = ((InternalEntityEntry)entry).StateManager; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var shouldSetTemporaryKeys = false; foreach (var dependent in (IEnumerable)embeddedValue) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var embeddedEntry = stateManager.TryGetEntry(dependent, fk.DeclaringEntityType)!; @@ -286,7 +287,7 @@ private static void SetTemporaryOrdinals( shouldSetTemporaryKeys = true; break; } -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. embeddedOrdinal++; } @@ -296,12 +297,12 @@ private static void SetTemporaryOrdinals( var temporaryOrdinal = -1; foreach (var dependent in (IEnumerable)embeddedValue) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. // #16707 var embeddedEntry = stateManager.TryGetEntry(dependent, fk.DeclaringEntityType)!; embeddedEntry.SetTemporaryValue(ordinalKeyProperty, temporaryOrdinal, setModified: false); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. temporaryOrdinal--; } diff --git a/src/EFCore.Cosmos/ValueGeneration/Internal/CosmosValueGeneratorSelector.cs b/src/EFCore.Cosmos/ValueGeneration/Internal/CosmosValueGeneratorSelector.cs index afad6d61dc0..be568d0d14f 100644 --- a/src/EFCore.Cosmos/ValueGeneration/Internal/CosmosValueGeneratorSelector.cs +++ b/src/EFCore.Cosmos/ValueGeneration/Internal/CosmosValueGeneratorSelector.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CosmosValueGeneratorSelector : ValueGeneratorSelector { /// diff --git a/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGenerator.cs b/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGenerator.cs index 70bb2c43bc1..fe9138c0987 100644 --- a/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGenerator.cs +++ b/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGenerator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class IdValueGenerator : ValueGenerator { /// diff --git a/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGeneratorFactory.cs b/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGeneratorFactory.cs index bd56b8e30d7..76265a132ee 100644 --- a/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGeneratorFactory.cs +++ b/src/EFCore.Cosmos/ValueGeneration/Internal/IdValueGeneratorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Cosmos.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class IdValueGeneratorFactory : ValueGeneratorFactory { /// diff --git a/src/EFCore.Design/Design/FluentApiCodeFragment.cs b/src/EFCore.Design/Design/FluentApiCodeFragment.cs index 344dd416e94..29fe4295908 100644 --- a/src/EFCore.Design/Design/FluentApiCodeFragment.cs +++ b/src/EFCore.Design/Design/FluentApiCodeFragment.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.EntityFrameworkCore.Design; /// diff --git a/src/EFCore.Design/Design/Internal/AppServiceProviderFactory.cs b/src/EFCore.Design/Design/Internal/AppServiceProviderFactory.cs index 2015337b4e6..a3a140d04ed 100644 --- a/src/EFCore.Design/Design/Internal/AppServiceProviderFactory.cs +++ b/src/EFCore.Design/Design/Internal/AppServiceProviderFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class AppServiceProviderFactory { private readonly Assembly _startupAssembly; diff --git a/src/EFCore.Design/Design/Internal/CSharpHelper.cs b/src/EFCore.Design/Design/Internal/CSharpHelper.cs index a136be6096f..db84fc902b7 100644 --- a/src/EFCore.Design/Design/Internal/CSharpHelper.cs +++ b/src/EFCore.Design/Design/Internal/CSharpHelper.cs @@ -24,6 +24,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpHelper : ICSharpHelper { private readonly ITypeMappingSource _typeMappingSource; diff --git a/src/EFCore.Design/Design/Internal/ContextInfo.cs b/src/EFCore.Design/Design/Internal/ContextInfo.cs index 93d11722cb4..a00a9486f33 100644 --- a/src/EFCore.Design/Design/Internal/ContextInfo.cs +++ b/src/EFCore.Design/Design/Internal/ContextInfo.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class ContextInfo { /// diff --git a/src/EFCore.Design/Design/Internal/DatabaseOperations.cs b/src/EFCore.Design/Design/Internal/DatabaseOperations.cs index d27a2532b3c..9fc4e1c94d8 100644 --- a/src/EFCore.Design/Design/Internal/DatabaseOperations.cs +++ b/src/EFCore.Design/Design/Internal/DatabaseOperations.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class DatabaseOperations { private readonly string _projectDir; diff --git a/src/EFCore.Design/Design/Internal/DbContextOperations.cs b/src/EFCore.Design/Design/Internal/DbContextOperations.cs index 5cacd84d4da..a5da95bf4ef 100644 --- a/src/EFCore.Design/Design/Internal/DbContextOperations.cs +++ b/src/EFCore.Design/Design/Internal/DbContextOperations.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class DbContextOperations { private readonly IOperationReporter _reporter; diff --git a/src/EFCore.Design/Design/Internal/DesignTimeConnectionStringResolver.cs b/src/EFCore.Design/Design/Internal/DesignTimeConnectionStringResolver.cs index d6ff126d5fe..d3adfbe1ffd 100644 --- a/src/EFCore.Design/Design/Internal/DesignTimeConnectionStringResolver.cs +++ b/src/EFCore.Design/Design/Internal/DesignTimeConnectionStringResolver.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class DesignTimeConnectionStringResolver : NamedConnectionStringResolverBase, IDesignTimeConnectionStringResolver { private readonly Func? _applicationServiceProviderAccessor; diff --git a/src/EFCore.Design/Design/Internal/DesignTimeServicesBuilder.cs b/src/EFCore.Design/Design/Internal/DesignTimeServicesBuilder.cs index 9a4ee6d7d3d..60a16ab2bbb 100644 --- a/src/EFCore.Design/Design/Internal/DesignTimeServicesBuilder.cs +++ b/src/EFCore.Design/Design/Internal/DesignTimeServicesBuilder.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class DesignTimeServicesBuilder { private readonly Assembly _assembly; diff --git a/src/EFCore.Design/Design/Internal/HumanizerPluralizer.cs b/src/EFCore.Design/Design/Internal/HumanizerPluralizer.cs index 1c4e984945c..97152afe145 100644 --- a/src/EFCore.Design/Design/Internal/HumanizerPluralizer.cs +++ b/src/EFCore.Design/Design/Internal/HumanizerPluralizer.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class HumanizerPluralizer : IPluralizer { /// diff --git a/src/EFCore.Design/Design/Internal/IDesignTimeConnectionStringResolver.cs b/src/EFCore.Design/Design/Internal/IDesignTimeConnectionStringResolver.cs index 3bdd653c417..b399119b6bb 100644 --- a/src/EFCore.Design/Design/Internal/IDesignTimeConnectionStringResolver.cs +++ b/src/EFCore.Design/Design/Internal/IDesignTimeConnectionStringResolver.cs @@ -16,4 +16,5 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public interface IDesignTimeConnectionStringResolver : INamedConnectionStringResolver; diff --git a/src/EFCore.Design/Design/Internal/IOperationReporter.cs b/src/EFCore.Design/Design/Internal/IOperationReporter.cs index 5bbaf3991eb..223f1a366c3 100644 --- a/src/EFCore.Design/Design/Internal/IOperationReporter.cs +++ b/src/EFCore.Design/Design/Internal/IOperationReporter.cs @@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +#if NET8_0_OR_GREATER // This file is used in the ef project +[Experimental(EFDiagnostics.DesignInternalUsage)] +#endif public interface IOperationReporter { /// diff --git a/src/EFCore.Design/Design/Internal/LanguageBasedSelector.cs b/src/EFCore.Design/Design/Internal/LanguageBasedSelector.cs index ef792f73cd3..33eaebb92ee 100644 --- a/src/EFCore.Design/Design/Internal/LanguageBasedSelector.cs +++ b/src/EFCore.Design/Design/Internal/LanguageBasedSelector.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public abstract class LanguageBasedSelector where T : ILanguageBasedService { diff --git a/src/EFCore.Design/Design/Internal/MigrationInfo.cs b/src/EFCore.Design/Design/Internal/MigrationInfo.cs index 7c13848796f..b1ea664feb3 100644 --- a/src/EFCore.Design/Design/Internal/MigrationInfo.cs +++ b/src/EFCore.Design/Design/Internal/MigrationInfo.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class MigrationInfo { /// diff --git a/src/EFCore.Design/Design/Internal/MigrationsOperations.cs b/src/EFCore.Design/Design/Internal/MigrationsOperations.cs index 53fa083c0d6..91f2114096f 100644 --- a/src/EFCore.Design/Design/Internal/MigrationsOperations.cs +++ b/src/EFCore.Design/Design/Internal/MigrationsOperations.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class MigrationsOperations { private readonly IOperationReporter _reporter; diff --git a/src/EFCore.Design/Design/Internal/OperationLogger.cs b/src/EFCore.Design/Design/Internal/OperationLogger.cs index 9e71b1f87b9..08b4d3f2fd5 100644 --- a/src/EFCore.Design/Design/Internal/OperationLogger.cs +++ b/src/EFCore.Design/Design/Internal/OperationLogger.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class OperationLogger : ILogger { private readonly string _categoryName; diff --git a/src/EFCore.Design/Design/Internal/OperationLoggerProvider.cs b/src/EFCore.Design/Design/Internal/OperationLoggerProvider.cs index d03a884a82b..2df10832ff6 100644 --- a/src/EFCore.Design/Design/Internal/OperationLoggerProvider.cs +++ b/src/EFCore.Design/Design/Internal/OperationLoggerProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class OperationLoggerProvider : ILoggerProvider { private readonly IOperationReporter _reporter; diff --git a/src/EFCore.Design/Design/Internal/OperationReporter.cs b/src/EFCore.Design/Design/Internal/OperationReporter.cs index 84c3e097e39..7cb42ecde33 100644 --- a/src/EFCore.Design/Design/Internal/OperationReporter.cs +++ b/src/EFCore.Design/Design/Internal/OperationReporter.cs @@ -9,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +#if NET8_0_OR_GREATER // This file is used in the ef project +[Experimental(EFDiagnostics.DesignInternalUsage)] +#endif public class OperationReporter : IOperationReporter { private readonly IOperationReportHandler? _handler; diff --git a/src/EFCore.Design/Design/Internal/OperationReporterExtensions.cs b/src/EFCore.Design/Design/Internal/OperationReporterExtensions.cs index 14cd1a360bd..33fb99da053 100644 --- a/src/EFCore.Design/Design/Internal/OperationReporterExtensions.cs +++ b/src/EFCore.Design/Design/Internal/OperationReporterExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public static class OperationReporterExtensions { /// diff --git a/src/EFCore.Design/Design/OperationExecutor.cs b/src/EFCore.Design/Design/OperationExecutor.cs index ebcae3aa8a6..e42b09a4c64 100644 --- a/src/EFCore.Design/Design/OperationExecutor.cs +++ b/src/EFCore.Design/Design/OperationExecutor.cs @@ -98,7 +98,7 @@ private Assembly StartupAssembly /// /// Exposes the underlying operations for testing. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public virtual MigrationsOperations MigrationsOperations => _migrationsOperations ??= new MigrationsOperations( @@ -114,7 +114,7 @@ public virtual MigrationsOperations MigrationsOperations /// /// Exposes the underlying operations for testing. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public virtual DbContextOperations ContextOperations => _contextOperations ??= new DbContextOperations( @@ -130,7 +130,7 @@ public virtual DbContextOperations ContextOperations /// /// Exposes the underlying operations for testing. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public virtual DatabaseOperations DatabaseOperations => _databaseOperations ??= new DatabaseOperations( diff --git a/src/EFCore.Design/EFCore.Design.csproj b/src/EFCore.Design/EFCore.Design.csproj index e4acbf7bd5c..871cbc69655 100644 --- a/src/EFCore.Design/EFCore.Design.csproj +++ b/src/EFCore.Design/EFCore.Design.csproj @@ -8,11 +8,14 @@ true true true - EF1003 + $(NoWarn);EF9903 + $(NoWarn);EF9901;EF9902 + $(NoWarn);EF1003 + diff --git a/src/EFCore.Design/Extensions/Internal/DatabaseColumnExtensions.cs b/src/EFCore.Design/Extensions/Internal/DatabaseColumnExtensions.cs index bed266ee913..f8b1400ccc5 100644 --- a/src/EFCore.Design/Extensions/Internal/DatabaseColumnExtensions.cs +++ b/src/EFCore.Design/Extensions/Internal/DatabaseColumnExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public static class DatabaseColumnExtensions { /// diff --git a/src/EFCore.Design/Extensions/Internal/DatabaseForeignKeyExtensions.cs b/src/EFCore.Design/Extensions/Internal/DatabaseForeignKeyExtensions.cs index a9668ff992f..4bc2a8651cc 100644 --- a/src/EFCore.Design/Extensions/Internal/DatabaseForeignKeyExtensions.cs +++ b/src/EFCore.Design/Extensions/Internal/DatabaseForeignKeyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public static class DatabaseForeignKeyExtensions { /// diff --git a/src/EFCore.Design/Extensions/Internal/DatabaseTableExtensions.cs b/src/EFCore.Design/Extensions/Internal/DatabaseTableExtensions.cs index 0cc6e9b2773..526767efa52 100644 --- a/src/EFCore.Design/Extensions/Internal/DatabaseTableExtensions.cs +++ b/src/EFCore.Design/Extensions/Internal/DatabaseTableExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public static class DatabaseTableExtensions { /// diff --git a/src/EFCore.Design/Extensions/Internal/InternalScaffoldingModelExtensions.cs b/src/EFCore.Design/Extensions/Internal/InternalScaffoldingModelExtensions.cs index ca575609a1d..49b1bf1a61f 100644 --- a/src/EFCore.Design/Extensions/Internal/InternalScaffoldingModelExtensions.cs +++ b/src/EFCore.Design/Extensions/Internal/InternalScaffoldingModelExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public static class InternalScaffoldingModelExtensions { /// diff --git a/src/EFCore.Design/Metadata/Internal/ScaffoldingAnnotationNames.cs b/src/EFCore.Design/Metadata/Internal/ScaffoldingAnnotationNames.cs index c16bc3b8ad3..308cc0429d0 100644 --- a/src/EFCore.Design/Metadata/Internal/ScaffoldingAnnotationNames.cs +++ b/src/EFCore.Design/Metadata/Internal/ScaffoldingAnnotationNames.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public static class ScaffoldingAnnotationNames { /// diff --git a/src/EFCore.Design/Migrations/Design/CSharpMigrationOperationGeneratorDependencies.cs b/src/EFCore.Design/Migrations/Design/CSharpMigrationOperationGeneratorDependencies.cs index cfb4ba2f596..1a89a76092d 100644 --- a/src/EFCore.Design/Migrations/Design/CSharpMigrationOperationGeneratorDependencies.cs +++ b/src/EFCore.Design/Migrations/Design/CSharpMigrationOperationGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record CSharpMigrationOperationGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public CSharpMigrationOperationGeneratorDependencies(ICSharpHelper csharpHelper) { CSharpHelper = csharpHelper; diff --git a/src/EFCore.Design/Migrations/Design/CSharpMigrationsGeneratorDependencies.cs b/src/EFCore.Design/Migrations/Design/CSharpMigrationsGeneratorDependencies.cs index 951f0014619..2ec9292e18c 100644 --- a/src/EFCore.Design/Migrations/Design/CSharpMigrationsGeneratorDependencies.cs +++ b/src/EFCore.Design/Migrations/Design/CSharpMigrationsGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record CSharpMigrationsGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public CSharpMigrationsGeneratorDependencies( ICSharpHelper csharpHelper, ICSharpMigrationOperationGenerator csharpMigrationOperationGenerator, diff --git a/src/EFCore.Design/Migrations/Design/CSharpSnapshotGeneratorDependencies.cs b/src/EFCore.Design/Migrations/Design/CSharpSnapshotGeneratorDependencies.cs index 9aa706543f9..4400ed7c9d5 100644 --- a/src/EFCore.Design/Migrations/Design/CSharpSnapshotGeneratorDependencies.cs +++ b/src/EFCore.Design/Migrations/Design/CSharpSnapshotGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record CSharpSnapshotGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public CSharpSnapshotGeneratorDependencies( ICSharpHelper csharpHelper, IRelationalTypeMappingSource relationalTypeMappingSource, diff --git a/src/EFCore.Design/Migrations/Design/MigrationsCodeGeneratorDependencies.cs b/src/EFCore.Design/Migrations/Design/MigrationsCodeGeneratorDependencies.cs index d90079599a2..76b19e80f12 100644 --- a/src/EFCore.Design/Migrations/Design/MigrationsCodeGeneratorDependencies.cs +++ b/src/EFCore.Design/Migrations/Design/MigrationsCodeGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record MigrationsCodeGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public MigrationsCodeGeneratorDependencies( IRelationalTypeMappingSource relationalTypeMappingSource, IAnnotationCodeGenerator annotationCodeGenerator) diff --git a/src/EFCore.Design/Migrations/Design/MigrationsScaffolderDependencies.cs b/src/EFCore.Design/Migrations/Design/MigrationsScaffolderDependencies.cs index 07b6cb83c64..b7569409d0f 100644 --- a/src/EFCore.Design/Migrations/Design/MigrationsScaffolderDependencies.cs +++ b/src/EFCore.Design/Migrations/Design/MigrationsScaffolderDependencies.cs @@ -39,7 +39,7 @@ public sealed record MigrationsScaffolderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public MigrationsScaffolderDependencies( ICurrentDbContext currentContext, IModel model, @@ -104,7 +104,7 @@ public MigrationsScaffolderDependencies( /// /// The operation reporter. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public IOperationReporter OperationReporter { get; init; } /// @@ -115,7 +115,7 @@ public MigrationsScaffolderDependencies( /// /// The snapshot model processor. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public ISnapshotModelProcessor SnapshotModelProcessor { get; init; } /// diff --git a/src/EFCore.Design/Migrations/Internal/ISnapshotModelProcessor.cs b/src/EFCore.Design/Migrations/Internal/ISnapshotModelProcessor.cs index a4458697859..d24d644ace1 100644 --- a/src/EFCore.Design/Migrations/Internal/ISnapshotModelProcessor.cs +++ b/src/EFCore.Design/Migrations/Internal/ISnapshotModelProcessor.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// @@ -11,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public interface ISnapshotModelProcessor { /// diff --git a/src/EFCore.Design/Migrations/Internal/MigrationsCodeGeneratorSelector.cs b/src/EFCore.Design/Migrations/Internal/MigrationsCodeGeneratorSelector.cs index 2cf1e0bb37f..e4093dbb5b0 100644 --- a/src/EFCore.Design/Migrations/Internal/MigrationsCodeGeneratorSelector.cs +++ b/src/EFCore.Design/Migrations/Internal/MigrationsCodeGeneratorSelector.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class MigrationsCodeGeneratorSelector : LanguageBasedSelector, IMigrationsCodeGeneratorSelector { /// diff --git a/src/EFCore.Design/Migrations/Internal/SnapshotModelProcessor.cs b/src/EFCore.Design/Migrations/Internal/SnapshotModelProcessor.cs index a47c283c472..a41481941f3 100644 --- a/src/EFCore.Design/Migrations/Internal/SnapshotModelProcessor.cs +++ b/src/EFCore.Design/Migrations/Internal/SnapshotModelProcessor.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class SnapshotModelProcessor : ISnapshotModelProcessor { private readonly IOperationReporter _operationReporter; diff --git a/src/EFCore.Design/Properties/DesignStrings.Designer.cs b/src/EFCore.Design/Properties/DesignStrings.Designer.cs index 4eff1157449..2ea8ebbbe9f 100644 --- a/src/EFCore.Design/Properties/DesignStrings.Designer.cs +++ b/src/EFCore.Design/Properties/DesignStrings.Designer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Internal /// 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. /// + [Experimental(EFDiagnostics.DesignInternalUsage)] public static class DesignStrings { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.Design/Properties/DesignStrings.Designer.tt b/src/EFCore.Design/Properties/DesignStrings.Designer.tt index 1ed4c32fe98..f43c9321a56 100644 --- a/src/EFCore.Design/Properties/DesignStrings.Designer.tt +++ b/src/EFCore.Design/Properties/DesignStrings.Designer.tt @@ -4,5 +4,6 @@ Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Properties"; Session["LoggingDefinitionsClass"] = "DesignLoggingDefinitions"; Session["NoDiagnostics"] = true; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.DesignInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.Design/Query/Internal/LinqToCSharpSyntaxTranslator.cs b/src/EFCore.Design/Query/Internal/LinqToCSharpSyntaxTranslator.cs index b46174daa09..65444cc43e6 100644 --- a/src/EFCore.Design/Query/Internal/LinqToCSharpSyntaxTranslator.cs +++ b/src/EFCore.Design/Query/Internal/LinqToCSharpSyntaxTranslator.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; -using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Reflection; using System.Runtime.CompilerServices; @@ -24,6 +23,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class LinqToCSharpSyntaxTranslator : ExpressionVisitor { private sealed record StackFrame( diff --git a/src/EFCore.Design/Query/Internal/RuntimeModelLinqToCSharpSyntaxTranslator.cs b/src/EFCore.Design/Query/Internal/RuntimeModelLinqToCSharpSyntaxTranslator.cs index f0f30f54861..b107f284f38 100644 --- a/src/EFCore.Design/Query/Internal/RuntimeModelLinqToCSharpSyntaxTranslator.cs +++ b/src/EFCore.Design/Query/Internal/RuntimeModelLinqToCSharpSyntaxTranslator.cs @@ -19,6 +19,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class RuntimeModelLinqToCSharpSyntaxTranslator : LinqToCSharpSyntaxTranslator { private Dictionary? _memberAccessReplacements; diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpDbContextGenerator.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpDbContextGenerator.cs index c28d92bf0a0..047da436490 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpDbContextGenerator.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpDbContextGenerator.cs @@ -2,7 +2,7 @@ // // This code was generated by a tool. // Runtime Version: 17.0.0.0 -// +// // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // @@ -17,7 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal using Microsoft.EntityFrameworkCore.Scaffolding; using Microsoft.Extensions.DependencyInjection; using System; - + /// /// Class to produce the template output /// @@ -506,7 +506,7 @@ public virtual void Initialize() if ((string.IsNullOrEmpty(parameterValue) == false)) { global::System.ComponentModel.TypeConverter tc = global::System.ComponentModel.TypeDescriptor.GetConverter(typeof(global::Microsoft.EntityFrameworkCore.Metadata.IModel)); - if (((tc != null) + if (((tc != null) && tc.CanConvertFrom(typeof(string)))) { this._ModelField = ((global::Microsoft.EntityFrameworkCore.Metadata.IModel)(tc.ConvertFrom(parameterValue))); @@ -539,7 +539,7 @@ public virtual void Initialize() if ((string.IsNullOrEmpty(parameterValue) == false)) { global::System.ComponentModel.TypeConverter tc = global::System.ComponentModel.TypeDescriptor.GetConverter(typeof(global::Microsoft.EntityFrameworkCore.Scaffolding.ModelCodeGenerationOptions)); - if (((tc != null) + if (((tc != null) && tc.CanConvertFrom(typeof(string)))) { this._OptionsField = ((global::Microsoft.EntityFrameworkCore.Scaffolding.ModelCodeGenerationOptions)(tc.ConvertFrom(parameterValue))); @@ -573,7 +573,7 @@ public virtual void Initialize() if ((string.IsNullOrEmpty(parameterValue) == false)) { global::System.ComponentModel.TypeConverter tc = global::System.ComponentModel.TypeDescriptor.GetConverter(typeof(string)); - if (((tc != null) + if (((tc != null) && tc.CanConvertFrom(typeof(string)))) { this._NamespaceHintField = ((string)(tc.ConvertFrom(parameterValue))); @@ -606,6 +606,7 @@ public virtual void Initialize() /// Base class for this transformation /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")] + [Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpDbContextGeneratorBase { #region Fields @@ -700,7 +701,7 @@ public void Write(string textToAppend) } // If we're starting off, or if the previous text ended with a newline, // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) + if (((this.GenerationEnvironment.Length == 0) || this.endsWithNewline)) { this.GenerationEnvironment.Append(this.currentIndentField); @@ -816,6 +817,7 @@ public void ClearIndent() /// /// Utility class to produce culture-oriented representation of an object as a string. /// + [Experimental(EFDiagnostics.DesignInternalUsage)] public class ToStringInstanceHelper { private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpEntityTypeGenerator.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpEntityTypeGenerator.cs index 9e43546ebf1..d1b5e5e9ab8 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpEntityTypeGenerator.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpEntityTypeGenerator.cs @@ -2,7 +2,7 @@ // // This code was generated by a tool. // Runtime Version: 17.0.0.0 -// +// // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // @@ -17,7 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.DependencyInjection; using System; - + /// /// Class to produce the template output /// @@ -301,7 +301,7 @@ public virtual void Initialize() if ((string.IsNullOrEmpty(parameterValue) == false)) { global::System.ComponentModel.TypeConverter tc = global::System.ComponentModel.TypeDescriptor.GetConverter(typeof(global::Microsoft.EntityFrameworkCore.Metadata.IEntityType)); - if (((tc != null) + if (((tc != null) && tc.CanConvertFrom(typeof(string)))) { this._EntityTypeField = ((global::Microsoft.EntityFrameworkCore.Metadata.IEntityType)(tc.ConvertFrom(parameterValue))); @@ -334,7 +334,7 @@ public virtual void Initialize() if ((string.IsNullOrEmpty(parameterValue) == false)) { global::System.ComponentModel.TypeConverter tc = global::System.ComponentModel.TypeDescriptor.GetConverter(typeof(global::Microsoft.EntityFrameworkCore.Scaffolding.ModelCodeGenerationOptions)); - if (((tc != null) + if (((tc != null) && tc.CanConvertFrom(typeof(string)))) { this._OptionsField = ((global::Microsoft.EntityFrameworkCore.Scaffolding.ModelCodeGenerationOptions)(tc.ConvertFrom(parameterValue))); @@ -368,7 +368,7 @@ public virtual void Initialize() if ((string.IsNullOrEmpty(parameterValue) == false)) { global::System.ComponentModel.TypeConverter tc = global::System.ComponentModel.TypeDescriptor.GetConverter(typeof(string)); - if (((tc != null) + if (((tc != null) && tc.CanConvertFrom(typeof(string)))) { this._NamespaceHintField = ((string)(tc.ConvertFrom(parameterValue))); @@ -401,6 +401,7 @@ public virtual void Initialize() /// Base class for this transformation /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")] + [Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpEntityTypeGeneratorBase { #region Fields @@ -495,7 +496,7 @@ public void Write(string textToAppend) } // If we're starting off, or if the previous text ended with a newline, // we have to append the current indent first. - if (((this.GenerationEnvironment.Length == 0) + if (((this.GenerationEnvironment.Length == 0) || this.endsWithNewline)) { this.GenerationEnvironment.Append(this.currentIndentField); @@ -611,6 +612,7 @@ public void ClearIndent() /// /// Utility class to produce culture-oriented representation of an object as a string. /// + [Experimental(EFDiagnostics.DesignInternalUsage)] public class ToStringInstanceHelper { private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpModelGenerator.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpModelGenerator.cs index 785b79cb437..b1c29343a2b 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpModelGenerator.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpModelGenerator.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpModelGenerator : ModelCodeGenerator { private readonly IOperationReporter _reporter; diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpNamer.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpNamer.cs index cce82a24f49..ef70f417e50 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpNamer.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpNamer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpNamer where T : notnull { diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpRuntimeModelCodeGenerator.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpRuntimeModelCodeGenerator.cs index 8567cf1309c..2eb34e4db63 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpRuntimeModelCodeGenerator.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpRuntimeModelCodeGenerator.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpRuntimeModelCodeGenerator : ICompiledModelCodeGenerator { private readonly ICSharpHelper _code; @@ -115,7 +116,7 @@ private static string GenerateHeader(SortedSet namespaces, string curren } builder.AppendLine() - .AppendLine("#pragma warning disable 219, 612, 618"); + .AppendLine("#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999"); builder.AppendLine(nullable ? "#nullable enable" : "#nullable disable"); diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpUniqueNamer.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpUniqueNamer.cs index ed328f091dd..84f45665557 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpUniqueNamer.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpUniqueNamer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpUniqueNamer : CSharpNamer where T : notnull { diff --git a/src/EFCore.Design/Scaffolding/Internal/CSharpUtilities.cs b/src/EFCore.Design/Scaffolding/Internal/CSharpUtilities.cs index 9ad3f59c185..70805f267fd 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CSharpUtilities.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CSharpUtilities.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CSharpUtilities : ICSharpUtilities { private static readonly HashSet CSharpKeywords = diff --git a/src/EFCore.Design/Scaffolding/Internal/CandidateNamingService.cs b/src/EFCore.Design/Scaffolding/Internal/CandidateNamingService.cs index 57b93cf47a6..b763634de6c 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CandidateNamingService.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CandidateNamingService.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CandidateNamingService : ICandidateNamingService { /// diff --git a/src/EFCore.Design/Scaffolding/Internal/CompiledModelCodeGeneratorSelector.cs b/src/EFCore.Design/Scaffolding/Internal/CompiledModelCodeGeneratorSelector.cs index 6038f9872d2..2b44510ba30 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CompiledModelCodeGeneratorSelector.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CompiledModelCodeGeneratorSelector.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CompiledModelCodeGeneratorSelector : LanguageBasedSelector, ICompiledModelCodeGeneratorSelector { diff --git a/src/EFCore.Design/Scaffolding/Internal/CompiledModelScaffolder.cs b/src/EFCore.Design/Scaffolding/Internal/CompiledModelScaffolder.cs index e18b55789b0..60be912f338 100644 --- a/src/EFCore.Design/Scaffolding/Internal/CompiledModelScaffolder.cs +++ b/src/EFCore.Design/Scaffolding/Internal/CompiledModelScaffolder.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class CompiledModelScaffolder : ICompiledModelScaffolder { /// diff --git a/src/EFCore.Design/Scaffolding/Internal/ICSharpUtilities.cs b/src/EFCore.Design/Scaffolding/Internal/ICSharpUtilities.cs index 72a890ef678..5640b044a82 100644 --- a/src/EFCore.Design/Scaffolding/Internal/ICSharpUtilities.cs +++ b/src/EFCore.Design/Scaffolding/Internal/ICSharpUtilities.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public interface ICSharpUtilities { /// diff --git a/src/EFCore.Design/Scaffolding/Internal/ICandidateNamingService.cs b/src/EFCore.Design/Scaffolding/Internal/ICandidateNamingService.cs index fad963201a7..47a6922ac09 100644 --- a/src/EFCore.Design/Scaffolding/Internal/ICandidateNamingService.cs +++ b/src/EFCore.Design/Scaffolding/Internal/ICandidateNamingService.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public interface ICandidateNamingService { /// diff --git a/src/EFCore.Design/Scaffolding/Internal/IScaffoldingTypeMapper.cs b/src/EFCore.Design/Scaffolding/Internal/IScaffoldingTypeMapper.cs index 6d97aad9f0c..33e4d49afc4 100644 --- a/src/EFCore.Design/Scaffolding/Internal/IScaffoldingTypeMapper.cs +++ b/src/EFCore.Design/Scaffolding/Internal/IScaffoldingTypeMapper.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public interface IScaffoldingTypeMapper { /// diff --git a/src/EFCore.Design/Scaffolding/Internal/ITextTransformation.cs b/src/EFCore.Design/Scaffolding/Internal/ITextTransformation.cs index 5ff8bf4533f..0e58dc5457c 100644 --- a/src/EFCore.Design/Scaffolding/Internal/ITextTransformation.cs +++ b/src/EFCore.Design/Scaffolding/Internal/ITextTransformation.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public interface ITextTransformation { /// diff --git a/src/EFCore.Design/Scaffolding/Internal/ModelCodeGeneratorSelector.cs b/src/EFCore.Design/Scaffolding/Internal/ModelCodeGeneratorSelector.cs index 33cb619e2dc..54b6390244c 100644 --- a/src/EFCore.Design/Scaffolding/Internal/ModelCodeGeneratorSelector.cs +++ b/src/EFCore.Design/Scaffolding/Internal/ModelCodeGeneratorSelector.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class ModelCodeGeneratorSelector : LanguageBasedSelector, IModelCodeGeneratorSelector { private readonly IEnumerable _templatedModelGenerators; diff --git a/src/EFCore.Design/Scaffolding/Internal/RelationalScaffoldingModelFactory.cs b/src/EFCore.Design/Scaffolding/Internal/RelationalScaffoldingModelFactory.cs index 07981e7bd73..02bf1bf6266 100644 --- a/src/EFCore.Design/Scaffolding/Internal/RelationalScaffoldingModelFactory.cs +++ b/src/EFCore.Design/Scaffolding/Internal/RelationalScaffoldingModelFactory.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class RelationalScaffoldingModelFactory : IScaffoldingModelFactory { internal const string NavigationNameUniquifyingPattern = "{0}Navigation"; diff --git a/src/EFCore.Design/Scaffolding/Internal/ReverseEngineerScaffolder.cs b/src/EFCore.Design/Scaffolding/Internal/ReverseEngineerScaffolder.cs index bd10abafd25..12ff7c1c9d9 100644 --- a/src/EFCore.Design/Scaffolding/Internal/ReverseEngineerScaffolder.cs +++ b/src/EFCore.Design/Scaffolding/Internal/ReverseEngineerScaffolder.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class ReverseEngineerScaffolder : IReverseEngineerScaffolder { private readonly IDatabaseModelFactory _databaseModelFactory; diff --git a/src/EFCore.Design/Scaffolding/Internal/ScaffoldingTypeMapper.cs b/src/EFCore.Design/Scaffolding/Internal/ScaffoldingTypeMapper.cs index 7f62b00e9c5..09b2356fe17 100644 --- a/src/EFCore.Design/Scaffolding/Internal/ScaffoldingTypeMapper.cs +++ b/src/EFCore.Design/Scaffolding/Internal/ScaffoldingTypeMapper.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class ScaffoldingTypeMapper : IScaffoldingTypeMapper { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.Design/Scaffolding/Internal/TextTemplatingEngineHost.cs b/src/EFCore.Design/Scaffolding/Internal/TextTemplatingEngineHost.cs index aa014e1d281..2499292407d 100644 --- a/src/EFCore.Design/Scaffolding/Internal/TextTemplatingEngineHost.cs +++ b/src/EFCore.Design/Scaffolding/Internal/TextTemplatingEngineHost.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.CodeDom.Compiler; -using System.Diagnostics.CodeAnalysis; using System.Text; using Microsoft.EntityFrameworkCore.Internal; using Microsoft.Extensions.DependencyModel; @@ -16,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class TextTemplatingEngineHost : ITextTemplatingSessionHost, ITextTemplatingEngineHost, IServiceProvider { private static readonly List _noWarn = ["CS1701", "CS1702"]; diff --git a/src/EFCore.Design/Scaffolding/Internal/TextTemplatingModelGenerator.cs b/src/EFCore.Design/Scaffolding/Internal/TextTemplatingModelGenerator.cs index 937bbd157fc..93cd7fbdaaa 100644 --- a/src/EFCore.Design/Scaffolding/Internal/TextTemplatingModelGenerator.cs +++ b/src/EFCore.Design/Scaffolding/Internal/TextTemplatingModelGenerator.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class TextTemplatingModelGenerator : TemplatedModelGenerator { private const string DbContextTemplate = "DbContext.t4"; diff --git a/src/EFCore.Design/Scaffolding/Internal/TypeScaffoldingInfo.cs b/src/EFCore.Design/Scaffolding/Internal/TypeScaffoldingInfo.cs index 9a4018d0952..9de1145c590 100644 --- a/src/EFCore.Design/Scaffolding/Internal/TypeScaffoldingInfo.cs +++ b/src/EFCore.Design/Scaffolding/Internal/TypeScaffoldingInfo.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.DesignInternalUsage)] public class TypeScaffoldingInfo { /// diff --git a/src/EFCore.Design/Scaffolding/ModelCodeGeneratorDependencies.cs b/src/EFCore.Design/Scaffolding/ModelCodeGeneratorDependencies.cs index a9f2d5b0b45..dc94dbfe589 100644 --- a/src/EFCore.Design/Scaffolding/ModelCodeGeneratorDependencies.cs +++ b/src/EFCore.Design/Scaffolding/ModelCodeGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record ModelCodeGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.DesignInternalUsage)] public ModelCodeGeneratorDependencies() { } diff --git a/src/EFCore.InMemory/Design/Internal/InMemoryCSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore.InMemory/Design/Internal/InMemoryCSharpRuntimeAnnotationCodeGenerator.cs index a9c7e56e256..293c6d14e64 100644 --- a/src/EFCore.InMemory/Design/Internal/InMemoryCSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore.InMemory/Design/Internal/InMemoryCSharpRuntimeAnnotationCodeGenerator.cs @@ -11,7 +11,8 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Design.Internal; /// 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. /// -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryCSharpRuntimeAnnotationCodeGenerator : CSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore.InMemory/Design/Internal/InMemoryDesignTimeServices.cs b/src/EFCore.InMemory/Design/Internal/InMemoryDesignTimeServices.cs index dcee1ba8ba4..beb540647c9 100644 --- a/src/EFCore.InMemory/Design/Internal/InMemoryDesignTimeServices.cs +++ b/src/EFCore.InMemory/Design/Internal/InMemoryDesignTimeServices.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryDesignTimeServices : IDesignTimeServices { /// @@ -25,10 +26,10 @@ public virtual void ConfigureDesignTimeServices(IServiceCollection serviceCollec { serviceCollection.AddEntityFrameworkInMemoryDatabase(); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. new EntityFrameworkDesignServicesBuilder(serviceCollection) .TryAdd() -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. .TryAddCoreServices(); } } diff --git a/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggerExtensions.cs b/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggerExtensions.cs index d071952873b..d9bccecab9b 100644 --- a/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggerExtensions.cs +++ b/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggerExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class InMemoryLoggerExtensions { /// diff --git a/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggingDefinitions.cs b/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggingDefinitions.cs index f7c1aea104c..873f4807a45 100644 --- a/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggingDefinitions.cs +++ b/src/EFCore.InMemory/Diagnostics/Internal/InMemoryLoggingDefinitions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryLoggingDefinitions : LoggingDefinitions { /// diff --git a/src/EFCore.InMemory/EFCore.InMemory.csproj b/src/EFCore.InMemory/EFCore.InMemory.csproj index 9c42260ab64..e1e26d3ab37 100644 --- a/src/EFCore.InMemory/EFCore.InMemory.csproj +++ b/src/EFCore.InMemory/EFCore.InMemory.csproj @@ -9,10 +9,12 @@ true $(PackageTags);In-Memory true + $(NoWarn);EF9999 + diff --git a/src/EFCore.InMemory/Extensions/InMemoryEntityTypeBuilderExtensions.cs b/src/EFCore.InMemory/Extensions/InMemoryEntityTypeBuilderExtensions.cs index e0bc4d28569..a1fc5daf202 100644 --- a/src/EFCore.InMemory/Extensions/InMemoryEntityTypeBuilderExtensions.cs +++ b/src/EFCore.InMemory/Extensions/InMemoryEntityTypeBuilderExtensions.cs @@ -101,9 +101,9 @@ public static bool CanSetInMemoryQuery( this IConventionEntityTypeBuilder entityTypeBuilder, LambdaExpression? query, bool fromDataAnnotation = false) -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. #pragma warning disable CS0612 // Type or member is obsolete => entityTypeBuilder.CanSetAnnotation(CoreAnnotationNames.DefiningQuery, query, fromDataAnnotation); #pragma warning restore CS0612 // Type or member is obsolete -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } diff --git a/src/EFCore.InMemory/Extensions/InMemoryEntityTypeExtensions.cs b/src/EFCore.InMemory/Extensions/InMemoryEntityTypeExtensions.cs index 5045a664b85..e64cc65246f 100644 --- a/src/EFCore.InMemory/Extensions/InMemoryEntityTypeExtensions.cs +++ b/src/EFCore.InMemory/Extensions/InMemoryEntityTypeExtensions.cs @@ -21,11 +21,11 @@ public static class InMemoryEntityTypeExtensions /// The entity type to get the in-memory query for. /// The LINQ query used as the default source. public static LambdaExpression? GetInMemoryQuery(this IReadOnlyEntityType entityType) -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. #pragma warning disable CS0612 // Type or member is obsolete => (LambdaExpression?)entityType[CoreAnnotationNames.DefiningQuery]; #pragma warning restore CS0612 // Type or member is obsolete -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. /// /// Sets the LINQ query used as the default source for queries of this type. @@ -36,11 +36,11 @@ public static void SetInMemoryQuery( this IMutableEntityType entityType, LambdaExpression? inMemoryQuery) => entityType -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. #pragma warning disable CS0612 // Type or member is obsolete .SetOrRemoveAnnotation(CoreAnnotationNames.DefiningQuery, inMemoryQuery); #pragma warning restore CS0612 // Type or member is obsolete -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. /// /// Sets the LINQ query used as the default source for queries of this type. @@ -54,11 +54,11 @@ public static void SetInMemoryQuery( LambdaExpression? inMemoryQuery, bool fromDataAnnotation = false) => (LambdaExpression?)entityType -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. #pragma warning disable CS0612 // Type or member is obsolete .SetOrRemoveAnnotation(CoreAnnotationNames.DefiningQuery, inMemoryQuery, fromDataAnnotation) #pragma warning restore CS0612 // Type or member is obsolete -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. ?.Value; /// @@ -67,9 +67,9 @@ public static void SetInMemoryQuery( /// The entity type. /// The configuration source for . public static ConfigurationSource? GetDefiningQueryConfigurationSource(this IConventionEntityType entityType) -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. #pragma warning disable CS0612 // Type or member is obsolete => entityType.FindAnnotation(CoreAnnotationNames.DefiningQuery)?.GetConfigurationSource(); #pragma warning restore CS0612 // Type or member is obsolete -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } diff --git a/src/EFCore.InMemory/Infrastructure/Internal/IInMemorySingletonOptions.cs b/src/EFCore.InMemory/Infrastructure/Internal/IInMemorySingletonOptions.cs index 7dac37e8731..0ce3673ab04 100644 --- a/src/EFCore.InMemory/Infrastructure/Internal/IInMemorySingletonOptions.cs +++ b/src/EFCore.InMemory/Infrastructure/Internal/IInMemorySingletonOptions.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Infrastructure.Internal; /// instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemorySingletonOptions : ISingletonOptions { /// diff --git a/src/EFCore.InMemory/Infrastructure/Internal/InMemoryModelValidator.cs b/src/EFCore.InMemory/Infrastructure/Internal/InMemoryModelValidator.cs index 4e8d3a78d95..e09738576f6 100644 --- a/src/EFCore.InMemory/Infrastructure/Internal/InMemoryModelValidator.cs +++ b/src/EFCore.InMemory/Infrastructure/Internal/InMemoryModelValidator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryModelValidator : ModelValidator { /// diff --git a/src/EFCore.InMemory/Infrastructure/Internal/InMemoryOptionsExtension.cs b/src/EFCore.InMemory/Infrastructure/Internal/InMemoryOptionsExtension.cs index b2470752079..5bed9fc8d4e 100644 --- a/src/EFCore.InMemory/Infrastructure/Internal/InMemoryOptionsExtension.cs +++ b/src/EFCore.InMemory/Infrastructure/Internal/InMemoryOptionsExtension.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryOptionsExtension : IDbContextOptionsExtension { private string? _storeName; diff --git a/src/EFCore.InMemory/Infrastructure/Internal/InMemorySingletonOptions.cs b/src/EFCore.InMemory/Infrastructure/Internal/InMemorySingletonOptions.cs index a1b64414aea..cd72b6d828d 100644 --- a/src/EFCore.InMemory/Infrastructure/Internal/InMemorySingletonOptions.cs +++ b/src/EFCore.InMemory/Infrastructure/Internal/InMemorySingletonOptions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemorySingletonOptions : IInMemorySingletonOptions { /// diff --git a/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.cs b/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.cs index 83f0de02464..86bee972f8b 100644 --- a/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.cs +++ b/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class InMemoryStrings { private static readonly ResourceManager _resourceManager @@ -128,6 +129,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class InMemoryResources { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.tt b/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.tt index 8f9f997c866..561215bf307 100644 --- a/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.tt +++ b/src/EFCore.InMemory/Properties/InMemoryStrings.Designer.tt @@ -3,5 +3,6 @@ Session["ResourceFile"] = "InMemoryStrings.resx"; Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.InMemory.Properties"; Session["LoggingDefinitionsClass"] = "Diagnostics.Internal.InMemoryLoggingDefinitions"; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.InMemory/Query/Internal/AnonymousObject.cs b/src/EFCore.InMemory/Query/Internal/AnonymousObject.cs index 329ea44bfad..a298aa6c905 100644 --- a/src/EFCore.InMemory/Query/Internal/AnonymousObject.cs +++ b/src/EFCore.InMemory/Query/Internal/AnonymousObject.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public readonly struct AnonymousObject { private readonly object[] _values; diff --git a/src/EFCore.InMemory/Query/Internal/CollectionResultShaperExpression.cs b/src/EFCore.InMemory/Query/Internal/CollectionResultShaperExpression.cs index 780512c4aa6..cffd02e66b2 100644 --- a/src/EFCore.InMemory/Query/Internal/CollectionResultShaperExpression.cs +++ b/src/EFCore.InMemory/Query/Internal/CollectionResultShaperExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class CollectionResultShaperExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.InMemory/Query/Internal/EntityProjectionExpression.cs b/src/EFCore.InMemory/Query/Internal/EntityProjectionExpression.cs index 36224942b99..9a69f91f928 100644 --- a/src/EFCore.InMemory/Query/Internal/EntityProjectionExpression.cs +++ b/src/EFCore.InMemory/Query/Internal/EntityProjectionExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class EntityProjectionExpression : Expression, IPrintableExpression { private readonly IReadOnlyDictionary _readExpressionMap; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryExpressionTranslatingExpressionVisitor.cs b/src/EFCore.InMemory/Query/Internal/InMemoryExpressionTranslatingExpressionVisitor.cs index 322ab4e6fcb..142bb924746 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryExpressionTranslatingExpressionVisitor.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryExpressionTranslatingExpressionVisitor.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; -using System.Diagnostics.CodeAnalysis; using System.Text; using System.Text.RegularExpressions; using JetBrains.Annotations; @@ -16,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryExpressionTranslatingExpressionVisitor : ExpressionVisitor { private const string RuntimeParameterPrefix = QueryCompilationContext.QueryParameterPrefix + "entity_equality_"; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryProjectionBindingExpressionVisitor.cs b/src/EFCore.InMemory/Query/Internal/InMemoryProjectionBindingExpressionVisitor.cs index cdc6e73acdb..ba9feb9ed1f 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryProjectionBindingExpressionVisitor.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryProjectionBindingExpressionVisitor.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; - namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// @@ -11,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryProjectionBindingExpressionVisitor : ExpressionVisitor { private readonly InMemoryQueryableMethodTranslatingExpressionVisitor _queryableMethodTranslatingExpressionVisitor; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryContext.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryContext.cs index 9849d15cdf6..040945b9cd0 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryContext.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryContext.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryQueryContext : QueryContext { private readonly IDictionary> _valueBuffersCache diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryContextFactory.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryContextFactory.cs index dc3f4a9e104..e5882a1b19c 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryContextFactory.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryContextFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryQueryContextFactory : IQueryContextFactory { private readonly IInMemoryStore _store; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.Helper.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.Helper.cs index 75189dd5e16..fc8549101b0 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.Helper.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.Helper.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; -using System.Diagnostics.CodeAnalysis; namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.cs index 5d833b29426..70eccc2d272 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryExpression.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public partial class InMemoryQueryExpression : Expression, IPrintableExpression { private static readonly ConstructorInfo ValueBufferConstructor diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessor.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessor.cs index 14d4bd6d74e..6e9563cf8d4 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessor.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryQueryTranslationPreprocessor : QueryTranslationPreprocessor { /// diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessorFactory.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessorFactory.cs index ae1f3c595cc..305164ee1ed 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessorFactory.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryTranslationPreprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryQueryTranslationPreprocessorFactory : IQueryTranslationPreprocessorFactory { /// diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitor.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitor.cs index 3fe4627901f..d7f851de79b 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitor.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryQueryableMethodTranslatingExpressionVisitor : QueryableMethodTranslatingExpressionVisitor { private readonly InMemoryExpressionTranslatingExpressionVisitor _expressionTranslator; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitorFactory.cs b/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitorFactory.cs index 4593092b96b..731b2b93137 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryQueryableMethodTranslatingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryQueryableMethodTranslatingExpressionVisitorFactory : IQueryableMethodTranslatingExpressionVisitorFactory { /// diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.ShaperExpressionProcessingExpressionVisitor.cs b/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.ShaperExpressionProcessingExpressionVisitor.cs index 59c7cde2fe0..70eb709482b 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.ShaperExpressionProcessingExpressionVisitor.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.ShaperExpressionProcessingExpressionVisitor.cs @@ -141,9 +141,9 @@ protected override Expression VisitExtension(Expression extensionExpression) includingClrType, relatedEntityClrType, includeExpression.Navigation, inverseNavigation) .Compile()), Constant(_tracking), -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. Constant(includeExpression.SetLoaded))); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } else { diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.cs b/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.cs index 43bac873858..52b2f185caa 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryCompilingExpressionVisitor.cs @@ -5,6 +5,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; using static Expression; +[Experimental(EFDiagnostics.ProviderInternalUsage)] public partial class InMemoryShapedQueryCompilingExpressionVisitor : ShapedQueryCompilingExpressionVisitor { private readonly Type _contextType; diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryExpressionVisitorFactory.cs b/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryExpressionVisitorFactory.cs index 95bf4f35a07..92cdbf3a468 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryExpressionVisitorFactory.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryShapedQueryExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryShapedQueryCompilingExpressionVisitorFactory : IShapedQueryCompilingExpressionVisitorFactory { /// diff --git a/src/EFCore.InMemory/Query/Internal/InMemoryTableExpression.cs b/src/EFCore.InMemory/Query/Internal/InMemoryTableExpression.cs index 2da22aa50ad..58d12813fbb 100644 --- a/src/EFCore.InMemory/Query/Internal/InMemoryTableExpression.cs +++ b/src/EFCore.InMemory/Query/Internal/InMemoryTableExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTableExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.InMemory/Query/Internal/SingleResultShaperExpression.cs b/src/EFCore.InMemory/Query/Internal/SingleResultShaperExpression.cs index 17e51039eea..9b4d619b2fa 100644 --- a/src/EFCore.InMemory/Query/Internal/SingleResultShaperExpression.cs +++ b/src/EFCore.InMemory/Query/Internal/SingleResultShaperExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SingleResultShaperExpression : Expression, IPrintableExpression { /// diff --git a/src/EFCore.InMemory/Storage/InMemoryDatabaseRoot.cs b/src/EFCore.InMemory/Storage/InMemoryDatabaseRoot.cs index 77568469e89..bc6b529e4e7 100644 --- a/src/EFCore.InMemory/Storage/InMemoryDatabaseRoot.cs +++ b/src/EFCore.InMemory/Storage/InMemoryDatabaseRoot.cs @@ -25,6 +25,6 @@ public sealed class InMemoryDatabaseRoot /// Entity Framework code will set this instance as needed. It should be considered opaque to /// application code; the type of object may change at any time. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public object? Instance; } diff --git a/src/EFCore.InMemory/Storage/Internal/IInMemoryDatabase.cs b/src/EFCore.InMemory/Storage/Internal/IInMemoryDatabase.cs index 8d1ec953280..f810a698644 100644 --- a/src/EFCore.InMemory/Storage/Internal/IInMemoryDatabase.cs +++ b/src/EFCore.InMemory/Storage/Internal/IInMemoryDatabase.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemoryDatabase : IDatabase { /// diff --git a/src/EFCore.InMemory/Storage/Internal/IInMemoryStore.cs b/src/EFCore.InMemory/Storage/Internal/IInMemoryStore.cs index e7e3a69f8d5..e656beeef07 100644 --- a/src/EFCore.InMemory/Storage/Internal/IInMemoryStore.cs +++ b/src/EFCore.InMemory/Storage/Internal/IInMemoryStore.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemoryStore { /// diff --git a/src/EFCore.InMemory/Storage/Internal/IInMemoryStoreCache.cs b/src/EFCore.InMemory/Storage/Internal/IInMemoryStoreCache.cs index 568fc2706af..a33ea02e706 100644 --- a/src/EFCore.InMemory/Storage/Internal/IInMemoryStoreCache.cs +++ b/src/EFCore.InMemory/Storage/Internal/IInMemoryStoreCache.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemoryStoreCache { /// diff --git a/src/EFCore.InMemory/Storage/Internal/IInMemoryTable.cs b/src/EFCore.InMemory/Storage/Internal/IInMemoryTable.cs index 89fa2150937..59559e31922 100644 --- a/src/EFCore.InMemory/Storage/Internal/IInMemoryTable.cs +++ b/src/EFCore.InMemory/Storage/Internal/IInMemoryTable.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemoryTable { /// diff --git a/src/EFCore.InMemory/Storage/Internal/IInMemoryTableFactory.cs b/src/EFCore.InMemory/Storage/Internal/IInMemoryTableFactory.cs index ccda9c19ecf..972eaa4e3fa 100644 --- a/src/EFCore.InMemory/Storage/Internal/IInMemoryTableFactory.cs +++ b/src/EFCore.InMemory/Storage/Internal/IInMemoryTableFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemoryTableFactory { /// diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryDatabase.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryDatabase.cs index c52665db55c..342b8b28e77 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryDatabase.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryDatabase.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryDatabase : Database, IInMemoryDatabase { private readonly IInMemoryStore _store; diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryDatabaseCreator.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryDatabaseCreator.cs index 654528b4a6c..a36bbb16092 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryDatabaseCreator.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryDatabaseCreator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryDatabaseCreator : IDatabaseCreator { private readonly IDatabase _database; diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryStore.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryStore.cs index 08ca15735f2..4cabc451534 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryStore.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryStore.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryStore : IInMemoryStore { private readonly IInMemoryTableFactory _tableFactory; diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCache.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCache.cs index 98ee7e3423c..f1088c5c2fa 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCache.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCache.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryStoreCache : IInMemoryStoreCache { private readonly IInMemoryTableFactory _tableFactory; diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCacheExtensions.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCacheExtensions.cs index fa837a44ca0..45cc8c97e5b 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCacheExtensions.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryStoreCacheExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class InMemoryStoreCacheExtensions { /// diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTable.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTable.cs index 2aa02485e80..0c36e6086f7 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTable.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTable.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTable : IInMemoryTable where TKey : notnull { diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTableFactory.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTableFactory.cs index 3fda4f952b2..969b2831a11 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTableFactory.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTableFactory.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTableFactory : IInMemoryTableFactory { private readonly bool _sensitiveLoggingEnabled; diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTableSnapshot.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTableSnapshot.cs index 8ef2438f790..f389fb75b76 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTableSnapshot.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTableSnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTableSnapshot { /// diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTransaction.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTransaction.cs index e6470528f40..7d1fe258829 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTransaction.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTransaction.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTransaction : IDbContextTransaction { /// diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTransactionManager.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTransactionManager.cs index b09d8dd9499..99ba3c76d53 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTransactionManager.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTransactionManager.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTransactionManager : IDbContextTransactionManager, ITransactionEnlistmentManager { private static readonly InMemoryTransaction StubTransaction = new(); diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMapping.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMapping.cs index bbf0cd43206..ac6acbbaa4f 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMapping.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTypeMapping : CoreTypeMapping { /// diff --git a/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMappingSource.cs b/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMappingSource.cs index f5e83539fb6..063b3ea7d33 100644 --- a/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMappingSource.cs +++ b/src/EFCore.InMemory/Storage/Internal/InMemoryTypeMappingSource.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryTypeMappingSource : TypeMappingSource { /// diff --git a/src/EFCore.InMemory/ValueGeneration/Internal/IInMemoryIntegerValueGenerator.cs b/src/EFCore.InMemory/ValueGeneration/Internal/IInMemoryIntegerValueGenerator.cs index d0d86f19a25..50d88968700 100644 --- a/src/EFCore.InMemory/ValueGeneration/Internal/IInMemoryIntegerValueGenerator.cs +++ b/src/EFCore.InMemory/ValueGeneration/Internal/IInMemoryIntegerValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface IInMemoryIntegerValueGenerator { /// diff --git a/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryIntegerValueGenerator.cs b/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryIntegerValueGenerator.cs index 46748f7270a..59f977156d7 100644 --- a/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryIntegerValueGenerator.cs +++ b/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryIntegerValueGenerator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryIntegerValueGenerator : ValueGenerator, IInMemoryIntegerValueGenerator { private readonly int _propertyIndex; diff --git a/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryValueGeneratorSelector.cs b/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryValueGeneratorSelector.cs index 77483e1ba3b..6e6e44cd085 100644 --- a/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryValueGeneratorSelector.cs +++ b/src/EFCore.InMemory/ValueGeneration/Internal/InMemoryValueGeneratorSelector.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.InMemory.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class InMemoryValueGeneratorSelector : ValueGeneratorSelector { private readonly IInMemoryStore _inMemoryStore; diff --git a/src/EFCore.Proxies/EFCore.Proxies.csproj b/src/EFCore.Proxies/EFCore.Proxies.csproj index 310779f2196..10e31181960 100644 --- a/src/EFCore.Proxies/EFCore.Proxies.csproj +++ b/src/EFCore.Proxies/EFCore.Proxies.csproj @@ -9,10 +9,12 @@ true $(PackageTags);Lazy loading true + $(NoWarn);EF9904 + diff --git a/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.cs b/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.cs index 5bbc60a1b88..061bd1e4193 100644 --- a/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.cs +++ b/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Internal /// 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. /// + [Experimental(EFDiagnostics.ProxiesInternalUsage)] public static class ProxiesStrings { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.tt b/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.tt index f6838252b8a..c352311db18 100644 --- a/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.tt +++ b/src/EFCore.Proxies/Properties/ProxiesStrings.Designer.tt @@ -4,5 +4,6 @@ Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Properties"; Session["LoggingDefinitionsClass"] = "ProxiesLoggingDefinitions"; Session["NoDiagnostics"] = true; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProxiesInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.Proxies/Proxies/Internal/IProxyFactory.cs b/src/EFCore.Proxies/Proxies/Internal/IProxyFactory.cs index 23feaba3054..bd383399286 100644 --- a/src/EFCore.Proxies/Proxies/Internal/IProxyFactory.cs +++ b/src/EFCore.Proxies/Proxies/Internal/IProxyFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public interface IProxyFactory { /// diff --git a/src/EFCore.Proxies/Proxies/Internal/IProxyLazyLoader.cs b/src/EFCore.Proxies/Proxies/Internal/IProxyLazyLoader.cs index 442d9360b63..0f1bd15b8df 100644 --- a/src/EFCore.Proxies/Proxies/Internal/IProxyLazyLoader.cs +++ b/src/EFCore.Proxies/Proxies/Internal/IProxyLazyLoader.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public interface IProxyLazyLoader { /// diff --git a/src/EFCore.Proxies/Proxies/Internal/LazyLoadingInterceptor.cs b/src/EFCore.Proxies/Proxies/Internal/LazyLoadingInterceptor.cs index c955c62219b..4c78f35240b 100644 --- a/src/EFCore.Proxies/Proxies/Internal/LazyLoadingInterceptor.cs +++ b/src/EFCore.Proxies/Proxies/Internal/LazyLoadingInterceptor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class LazyLoadingInterceptor : IInterceptor { private static readonly PropertyInfo LazyLoaderProperty diff --git a/src/EFCore.Proxies/Proxies/Internal/PropertyChangeInterceptorBase.cs b/src/EFCore.Proxies/Proxies/Internal/PropertyChangeInterceptorBase.cs index 404c7c53d13..d1841c11990 100644 --- a/src/EFCore.Proxies/Proxies/Internal/PropertyChangeInterceptorBase.cs +++ b/src/EFCore.Proxies/Proxies/Internal/PropertyChangeInterceptorBase.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public abstract class PropertyChangeInterceptorBase { /// diff --git a/src/EFCore.Proxies/Proxies/Internal/PropertyChangedInterceptor.cs b/src/EFCore.Proxies/Proxies/Internal/PropertyChangedInterceptor.cs index 2637f9e07c8..e9b68e14788 100644 --- a/src/EFCore.Proxies/Proxies/Internal/PropertyChangedInterceptor.cs +++ b/src/EFCore.Proxies/Proxies/Internal/PropertyChangedInterceptor.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class PropertyChangedInterceptor : PropertyChangeInterceptorBase, IInterceptor { private static readonly Type NotifyChangedInterface = typeof(INotifyPropertyChanged); diff --git a/src/EFCore.Proxies/Proxies/Internal/PropertyChangingInterceptor.cs b/src/EFCore.Proxies/Proxies/Internal/PropertyChangingInterceptor.cs index ed1cfe38e51..0db989a3a01 100644 --- a/src/EFCore.Proxies/Proxies/Internal/PropertyChangingInterceptor.cs +++ b/src/EFCore.Proxies/Proxies/Internal/PropertyChangingInterceptor.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class PropertyChangingInterceptor : PropertyChangeInterceptorBase, IInterceptor { private static readonly Type NotifyChangingInterface = typeof(INotifyPropertyChanging); diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxiesConventionSetPlugin.cs b/src/EFCore.Proxies/Proxies/Internal/ProxiesConventionSetPlugin.cs index d93161d0fa4..ebc04a75ff9 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxiesConventionSetPlugin.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxiesConventionSetPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class ProxiesConventionSetPlugin : IConventionSetPlugin { private readonly IDbContextOptions _options; diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxiesOptionsExtension.cs b/src/EFCore.Proxies/Proxies/Internal/ProxiesOptionsExtension.cs index 1d57fd733c0..231b73c6b58 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxiesOptionsExtension.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxiesOptionsExtension.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class ProxiesOptionsExtension : IDbContextOptionsExtension { private DbContextOptionsExtensionInfo? _info; diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxyAnnotationNames.cs b/src/EFCore.Proxies/Proxies/Internal/ProxyAnnotationNames.cs index ee4e0995f7b..5eefb15ea30 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxyAnnotationNames.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxyAnnotationNames.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public static class ProxyAnnotationNames { /// diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxyBindingInterceptor.cs b/src/EFCore.Proxies/Proxies/Internal/ProxyBindingInterceptor.cs index ad8acaeceb4..a34c40ba11c 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxyBindingInterceptor.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxyBindingInterceptor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class ProxyBindingInterceptor : IInstantiationBindingInterceptor { private static readonly MethodInfo CreateLazyLoadingProxyMethod diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxyBindingRewriter.cs b/src/EFCore.Proxies/Proxies/Internal/ProxyBindingRewriter.cs index 8d14b9ab1ed..37ca5e2c78c 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxyBindingRewriter.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxyBindingRewriter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class ProxyBindingRewriter : IModelFinalizingConvention { private static readonly PropertyInfo LazyLoaderProperty diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxyChangeTrackingConvention.cs b/src/EFCore.Proxies/Proxies/Internal/ProxyChangeTrackingConvention.cs index e7cef6fe611..25191f2ec26 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxyChangeTrackingConvention.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxyChangeTrackingConvention.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class ProxyChangeTrackingConvention : IModelInitializedConvention { private readonly ProxiesOptionsExtension? _options; @@ -39,9 +40,9 @@ public virtual void ProcessModelInitialized( if (_options?.UseChangeTrackingProxies == true) { modelBuilder.HasChangeTrackingStrategy(ChangeTrackingStrategy.ChangingAndChangedNotifications); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. modelBuilder.HasAnnotation(CoreAnnotationNames.FullChangeTrackingNotificationsRequired, true); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } } } diff --git a/src/EFCore.Proxies/Proxies/Internal/ProxyFactory.cs b/src/EFCore.Proxies/Proxies/Internal/ProxyFactory.cs index 4fddc56dd2e..e8dde8df91b 100644 --- a/src/EFCore.Proxies/Proxies/Internal/ProxyFactory.cs +++ b/src/EFCore.Proxies/Proxies/Internal/ProxyFactory.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Proxies.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProxiesInternalUsage)] public class ProxyFactory : IProxyFactory { private static readonly Type ProxyLazyLoaderInterface = typeof(IProxyLazyLoader); diff --git a/src/EFCore.Relational/Design/AnnotationCodeGenerator.cs b/src/EFCore.Relational/Design/AnnotationCodeGenerator.cs index 9f72d0b44c4..6164bb9d97a 100644 --- a/src/EFCore.Relational/Design/AnnotationCodeGenerator.cs +++ b/src/EFCore.Relational/Design/AnnotationCodeGenerator.cs @@ -5,7 +5,7 @@ using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable EF1001 // Accessing annotation names (internal) +#pragma warning disable EF9901 // Accessing annotation names (internal) namespace Microsoft.EntityFrameworkCore.Design; diff --git a/src/EFCore.Relational/Design/AnnotationCodeGeneratorDependencies.cs b/src/EFCore.Relational/Design/AnnotationCodeGeneratorDependencies.cs index 1c07f78cfdc..996644510c6 100644 --- a/src/EFCore.Relational/Design/AnnotationCodeGeneratorDependencies.cs +++ b/src/EFCore.Relational/Design/AnnotationCodeGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record AnnotationCodeGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public AnnotationCodeGeneratorDependencies( IRelationalTypeMappingSource relationalTypeMappingSource) { diff --git a/src/EFCore.Relational/Design/EntityFrameworkRelationalDesignServicesBuilder.cs b/src/EFCore.Relational/Design/EntityFrameworkRelationalDesignServicesBuilder.cs index 5da4cbb304c..fd3891a6b11 100644 --- a/src/EFCore.Relational/Design/EntityFrameworkRelationalDesignServicesBuilder.cs +++ b/src/EFCore.Relational/Design/EntityFrameworkRelationalDesignServicesBuilder.cs @@ -36,7 +36,7 @@ public class EntityFrameworkRelationalDesignServicesBuilder : EntityFrameworkDes /// This dictionary is exposed for testing and provider-validation only. /// It should not be used from application code. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static readonly IDictionary RelationalServices = new Dictionary { @@ -74,9 +74,9 @@ public EntityFrameworkRelationalDesignServicesBuilder(IServiceCollection service public override EntityFrameworkServicesBuilder TryAddCoreServices() { TryAdd(); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. TryAdd(); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. ServiceCollectionMap.GetInfrastructure() .AddDependencySingleton() diff --git a/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGenerator.cs index 886d2fdb759..c39dc43d1b1 100644 --- a/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// Base class to be used by relational database providers when implementing an /// #pragma warning disable EF1001 // Internal EF Core API usage. +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalCSharpRuntimeAnnotationCodeGenerator : CSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies.cs b/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies.cs index 68dad6542b4..b0f0a20cc05 100644 --- a/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies.cs +++ b/src/EFCore.Relational/Design/Internal/RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies.cs @@ -20,6 +20,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// first resolve the object from the dependency injection container, then replace selected /// services using the C# 'with' operator. Do not call the constructor at any point in this process. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed record RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies { /// @@ -36,7 +37,7 @@ public sealed record RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies() { } diff --git a/src/EFCore.Relational/Diagnostics/Internal/DbCommandInterceptorAggregator.cs b/src/EFCore.Relational/Diagnostics/Internal/DbCommandInterceptorAggregator.cs index fd5e8fc1cc8..eee4ac57398 100644 --- a/src/EFCore.Relational/Diagnostics/Internal/DbCommandInterceptorAggregator.cs +++ b/src/EFCore.Relational/Diagnostics/Internal/DbCommandInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class DbCommandInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore.Relational/Diagnostics/Internal/DbConnectionInterceptorAggregator.cs b/src/EFCore.Relational/Diagnostics/Internal/DbConnectionInterceptorAggregator.cs index c91d1fe89a8..940f7a6a5e3 100644 --- a/src/EFCore.Relational/Diagnostics/Internal/DbConnectionInterceptorAggregator.cs +++ b/src/EFCore.Relational/Diagnostics/Internal/DbConnectionInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class DbConnectionInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore.Relational/Diagnostics/Internal/DbTransactionInterceptorAggregator.cs b/src/EFCore.Relational/Diagnostics/Internal/DbTransactionInterceptorAggregator.cs index a9dbbf3ef99..8ac0642ccef 100644 --- a/src/EFCore.Relational/Diagnostics/Internal/DbTransactionInterceptorAggregator.cs +++ b/src/EFCore.Relational/Diagnostics/Internal/DbTransactionInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class DbTransactionInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore.Relational/Diagnostics/Internal/RelationalCommandDiagnosticsLogger.cs b/src/EFCore.Relational/Diagnostics/Internal/RelationalCommandDiagnosticsLogger.cs index 67c00efb825..a9c215daef1 100644 --- a/src/EFCore.Relational/Diagnostics/Internal/RelationalCommandDiagnosticsLogger.cs +++ b/src/EFCore.Relational/Diagnostics/Internal/RelationalCommandDiagnosticsLogger.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalCommandDiagnosticsLogger : DiagnosticsLogger, IRelationalCommandDiagnosticsLogger { diff --git a/src/EFCore.Relational/Diagnostics/Internal/RelationalConnectionDiagnosticsLogger.cs b/src/EFCore.Relational/Diagnostics/Internal/RelationalConnectionDiagnosticsLogger.cs index 5777768e8a0..9f62c5b23b3 100644 --- a/src/EFCore.Relational/Diagnostics/Internal/RelationalConnectionDiagnosticsLogger.cs +++ b/src/EFCore.Relational/Diagnostics/Internal/RelationalConnectionDiagnosticsLogger.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalConnectionDiagnosticsLogger : DiagnosticsLogger, IRelationalConnectionDiagnosticsLogger { diff --git a/src/EFCore.Relational/Diagnostics/RelationalLoggingDefinitions.cs b/src/EFCore.Relational/Diagnostics/RelationalLoggingDefinitions.cs index eb2e5ca3386..162e73ac3f1 100644 --- a/src/EFCore.Relational/Diagnostics/RelationalLoggingDefinitions.cs +++ b/src/EFCore.Relational/Diagnostics/RelationalLoggingDefinitions.cs @@ -31,7 +31,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogTransactionError; /// @@ -40,7 +40,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBoolWithDefaultWarning; /// @@ -49,7 +49,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogConnectionCreating; /// @@ -58,7 +58,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogConnectionCreated; /// @@ -67,7 +67,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogConnectionDisposing; /// @@ -76,7 +76,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogConnectionDisposed; /// @@ -85,7 +85,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogOpeningConnection; /// @@ -94,7 +94,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogOpenedConnection; /// @@ -103,7 +103,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogClosingConnection; /// @@ -112,7 +112,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogClosingDataReader; /// @@ -121,7 +121,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogClosedConnection; /// @@ -130,7 +130,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogConnectionError; /// @@ -139,7 +139,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBeginningTransaction; /// @@ -148,7 +148,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBeganTransaction; /// @@ -157,7 +157,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogUsingTransaction; /// @@ -166,7 +166,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommittingTransaction; /// @@ -175,7 +175,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogRollingBackTransaction; /// @@ -184,7 +184,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommittedTransaction; /// @@ -193,7 +193,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogRolledBackTransaction; /// @@ -202,7 +202,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCreatingTransactionSavepoint; /// @@ -211,7 +211,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogRollingBackToTransactionSavepoint; /// @@ -220,7 +220,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCreatedTransactionSavepoint; /// @@ -229,7 +229,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogRolledBackToTransactionSavepoint; /// @@ -238,7 +238,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogReleasingTransactionSavepoint; /// @@ -247,7 +247,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogReleasedTransactionSavepoint; /// @@ -256,7 +256,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogDisposingTransaction; /// @@ -265,7 +265,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogDisposingDataReader; /// @@ -274,7 +274,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogAmbientTransaction; /// @@ -283,7 +283,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogPossibleUnintendedUseOfEquals; /// @@ -292,7 +292,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogStoredProcedureConcurrencyTokenNotMapped; /// @@ -301,7 +301,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogGeneratingDown; /// @@ -310,7 +310,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogGeneratingUp; /// @@ -319,7 +319,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogApplyingMigration; /// @@ -328,7 +328,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogRevertingMigration; /// @@ -337,7 +337,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogMigrating; /// @@ -346,7 +346,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogNoMigrationsApplied; /// @@ -355,7 +355,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogNoMigrationsFound; /// @@ -364,7 +364,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogKeyHasDefaultValue; /// @@ -373,7 +373,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommandCanceled; /// @@ -382,7 +382,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommandCreating; /// @@ -391,7 +391,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommandCreated; /// @@ -400,7 +400,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommandInitialized; /// @@ -409,7 +409,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogExecutingCommand; /// @@ -418,7 +418,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogExecutedCommand; /// @@ -427,7 +427,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogCommandFailed; /// @@ -436,7 +436,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogConnectionErrorAsDebug; /// @@ -445,7 +445,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogAmbientTransactionEnlisted; /// @@ -454,7 +454,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogExplicitTransactionEnlisted; /// @@ -463,7 +463,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBatchSmallerThanMinBatchSize; /// @@ -472,7 +472,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBatchReadyForExecution; /// @@ -481,7 +481,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogMigrationAttributeMissingWarning; /// @@ -490,7 +490,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogNamedIndexAllPropertiesNotToMappedToAnyTable; /// @@ -499,7 +499,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogUnnamedIndexAllPropertiesNotToMappedToAnyTable; /// @@ -508,7 +508,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogNamedIndexPropertiesBothMappedAndNotMappedToTable; /// @@ -517,7 +517,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogUnnamedIndexPropertiesBothMappedAndNotMappedToTable; /// @@ -526,7 +526,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogNamedIndexPropertiesMappedToNonOverlappingTables; /// @@ -535,7 +535,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogUnnamedIndexPropertiesMappedToNonOverlappingTables; /// @@ -544,7 +544,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogKeyPropertiesNotMappedToTable; /// @@ -553,7 +553,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogForeignKeyPropertiesMappedToUnrelatedTables; /// @@ -562,7 +562,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogForeignKeyTpcPrincipal; /// @@ -571,7 +571,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogTpcStoreGeneratedIdentity; /// @@ -580,7 +580,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogMultipleCollectionIncludeWarning; /// @@ -589,7 +589,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBatchExecutorFailedToRollbackToSavepoint; /// @@ -598,7 +598,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogBatchExecutorFailedToReleaseSavepoint; /// @@ -607,7 +607,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogOptionalDependentWithoutIdentifyingProperty; /// @@ -616,7 +616,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogOptionalDependentWithAllNullProperties; /// @@ -625,7 +625,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogOptionalDependentWithAllNullPropertiesSensitive; /// @@ -634,7 +634,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogDuplicateColumnOrders; /// @@ -643,7 +643,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogColumnOrderIgnoredWarning; /// @@ -652,7 +652,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogExceptionDuringNonQueryOperation; /// @@ -661,7 +661,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogExceptionDuringExecuteDelete; /// @@ -670,7 +670,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogExceptionDuringExecuteUpdate; /// @@ -679,7 +679,7 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogUnexpectedTrailingResultSetWhenSaving; /// @@ -688,6 +688,6 @@ public abstract class RelationalLoggingDefinitions : LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public EventDefinitionBase? LogTriggerOnNonRootTphEntity; } diff --git a/src/EFCore.Relational/EFCore.Relational.csproj b/src/EFCore.Relational/EFCore.Relational.csproj index 77feb85648d..9ac90b62ce6 100644 --- a/src/EFCore.Relational/EFCore.Relational.csproj +++ b/src/EFCore.Relational/EFCore.Relational.csproj @@ -8,12 +8,14 @@ Microsoft.EntityFrameworkCore true true + $(NoWarn);EF9902 $(NoWarn);EF1003 + diff --git a/src/EFCore.Relational/Extensions/Internal/MethodInfoExtensions.cs b/src/EFCore.Relational/Extensions/Internal/MethodInfoExtensions.cs index fdd16f6c634..612b36f84a0 100644 --- a/src/EFCore.Relational/Extensions/Internal/MethodInfoExtensions.cs +++ b/src/EFCore.Relational/Extensions/Internal/MethodInfoExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class MethodInfoExtensions { /// diff --git a/src/EFCore.Relational/Extensions/Internal/RelationCommandCacheExtensions.cs b/src/EFCore.Relational/Extensions/Internal/RelationCommandCacheExtensions.cs index b1c67b0504c..5b70678d8e8 100644 --- a/src/EFCore.Relational/Extensions/Internal/RelationCommandCacheExtensions.cs +++ b/src/EFCore.Relational/Extensions/Internal/RelationCommandCacheExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationCommandCacheExtensions { /// diff --git a/src/EFCore.Relational/Extensions/Internal/TupleExtensions.cs b/src/EFCore.Relational/Extensions/Internal/TupleExtensions.cs index db729058896..5ec43c206db 100644 --- a/src/EFCore.Relational/Extensions/Internal/TupleExtensions.cs +++ b/src/EFCore.Relational/Extensions/Internal/TupleExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class TupleExtensions { /// diff --git a/src/EFCore.Relational/Extensions/RelationalQueryableExtensions.cs b/src/EFCore.Relational/Extensions/RelationalQueryableExtensions.cs index 85715b76f2c..bcc0bcc4775 100644 --- a/src/EFCore.Relational/Extensions/RelationalQueryableExtensions.cs +++ b/src/EFCore.Relational/Extensions/RelationalQueryableExtensions.cs @@ -231,10 +231,12 @@ private static FromSqlQueryRootExpression GenerateFromSqlQueryRoot( public static IQueryable AsSingleQuery( this IQueryable source) where TEntity : class +#pragma warning disable EF9901 => source.Provider is EntityQueryProvider ? source.Provider.CreateQuery( Expression.Call(AsSingleQueryMethodInfo.MakeGenericMethod(typeof(TEntity)), source.Expression)) : source; +#pragma warning restore EF9901 internal static readonly MethodInfo AsSingleQueryMethodInfo = typeof(RelationalQueryableExtensions).GetTypeInfo().GetDeclaredMethod(nameof(AsSingleQuery))!; @@ -263,10 +265,12 @@ internal static readonly MethodInfo AsSingleQueryMethodInfo public static IQueryable AsSplitQuery( this IQueryable source) where TEntity : class +#pragma warning disable EF9901 => source.Provider is EntityQueryProvider ? source.Provider.CreateQuery( Expression.Call(AsSplitQueryMethodInfo.MakeGenericMethod(typeof(TEntity)), source.Expression)) : source; +#pragma warning restore EF9901 internal static readonly MethodInfo AsSplitQueryMethodInfo = typeof(RelationalQueryableExtensions).GetTypeInfo().GetDeclaredMethod(nameof(AsSplitQuery))!; diff --git a/src/EFCore.Relational/Infrastructure/EntityFrameworkRelationalServicesBuilder.cs b/src/EFCore.Relational/Infrastructure/EntityFrameworkRelationalServicesBuilder.cs index 93cd941c2f5..2d636dd1b7a 100644 --- a/src/EFCore.Relational/Infrastructure/EntityFrameworkRelationalServicesBuilder.cs +++ b/src/EFCore.Relational/Infrastructure/EntityFrameworkRelationalServicesBuilder.cs @@ -40,7 +40,7 @@ public class EntityFrameworkRelationalServicesBuilder : EntityFrameworkServicesB /// This dictionary is exposed for testing and provider-validation only. /// It should not be used from application code. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static readonly IDictionary RelationalServices = new Dictionary { diff --git a/src/EFCore.Relational/Infrastructure/RelationalModelDependencies.cs b/src/EFCore.Relational/Infrastructure/RelationalModelDependencies.cs index 217cbd60590..97f0c72fb07 100644 --- a/src/EFCore.Relational/Infrastructure/RelationalModelDependencies.cs +++ b/src/EFCore.Relational/Infrastructure/RelationalModelDependencies.cs @@ -46,7 +46,7 @@ public sealed record RelationalModelDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalModelDependencies( IRowKeyValueFactoryFactory rowKeyValueFactoryFactory, IRowForeignKeyValueFactoryFactory foreignKeyRowValueFactorySource, @@ -63,7 +63,7 @@ public RelationalModelDependencies( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public IRowKeyValueFactoryFactory RowKeyValueFactoryFactory { get; init; } /// @@ -72,7 +72,7 @@ public RelationalModelDependencies( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public IRowForeignKeyValueFactoryFactory RowForeignKeyValueFactoryFactory { get; init; } /// @@ -81,6 +81,6 @@ public RelationalModelDependencies( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public IRowIndexValueFactoryFactory RowIndexValueFactoryFactory { get; init; } } diff --git a/src/EFCore.Relational/Infrastructure/RelationalModelRuntimeInitializerDependencies.cs b/src/EFCore.Relational/Infrastructure/RelationalModelRuntimeInitializerDependencies.cs index 65672f7aeb9..23efad34d3a 100644 --- a/src/EFCore.Relational/Infrastructure/RelationalModelRuntimeInitializerDependencies.cs +++ b/src/EFCore.Relational/Infrastructure/RelationalModelRuntimeInitializerDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalModelRuntimeInitializerDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalModelRuntimeInitializerDependencies( RelationalModelDependencies relationalModelDependencies, IRelationalAnnotationProvider relationalAnnotationProvider) diff --git a/src/EFCore.Relational/Infrastructure/RelationalModelValidatorDependencies.cs b/src/EFCore.Relational/Infrastructure/RelationalModelValidatorDependencies.cs index a388cdb7c16..6830babeac1 100644 --- a/src/EFCore.Relational/Infrastructure/RelationalModelValidatorDependencies.cs +++ b/src/EFCore.Relational/Infrastructure/RelationalModelValidatorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalModelValidatorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalModelValidatorDependencies( IRelationalTypeMappingSource typeMappingSource) { diff --git a/src/EFCore.Relational/Internal/SemanticVersionComparer.cs b/src/EFCore.Relational/Internal/SemanticVersionComparer.cs index f1f61e298c9..f27995b8f3b 100644 --- a/src/EFCore.Relational/Internal/SemanticVersionComparer.cs +++ b/src/EFCore.Relational/Internal/SemanticVersionComparer.cs @@ -1,9 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System; -using System.Collections.Generic; - namespace Microsoft.EntityFrameworkCore.Internal; /// @@ -12,6 +9,9 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +#if NET8_0_OR_GREATER // This file is used in the ef project +[Experimental(EFDiagnostics.RelationalInternalUsage)] +#endif public class SemanticVersionComparer : IComparer { /// diff --git a/src/EFCore.Relational/Metadata/Builders/CheckConstraintBuilder.cs b/src/EFCore.Relational/Metadata/Builders/CheckConstraintBuilder.cs index fd9c2fccebc..c1be553f319 100644 --- a/src/EFCore.Relational/Metadata/Builders/CheckConstraintBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/CheckConstraintBuilder.cs @@ -20,7 +20,7 @@ public class CheckConstraintBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public CheckConstraintBuilder(IMutableCheckConstraint checkConstraint) { Builder = ((CheckConstraint)checkConstraint).Builder; @@ -32,7 +32,7 @@ public CheckConstraintBuilder(IMutableCheckConstraint checkConstraint) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual InternalCheckConstraintBuilder Builder { [DebuggerStepThrough] get; } /// diff --git a/src/EFCore.Relational/Metadata/Builders/ColumnBuilder.cs b/src/EFCore.Relational/Metadata/Builders/ColumnBuilder.cs index ff677eb7b1c..3ebc3d58de6 100644 --- a/src/EFCore.Relational/Metadata/Builders/ColumnBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/ColumnBuilder.cs @@ -18,7 +18,7 @@ public class ColumnBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ColumnBuilder(in StoreObjectIdentifier storeObject, PropertyBuilder propertyBuilder) { Check.DebugAssert( @@ -42,7 +42,7 @@ public virtual IMutableRelationalPropertyOverrides Overrides /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual RelationalPropertyOverrides InternalOverrides { get; } private PropertyBuilder PropertyBuilder { get; } diff --git a/src/EFCore.Relational/Metadata/Builders/ColumnBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/ColumnBuilder`.cs index 0949ae4193d..0f9f132e0e5 100644 --- a/src/EFCore.Relational/Metadata/Builders/ColumnBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/ColumnBuilder`.cs @@ -15,7 +15,7 @@ public class ColumnBuilder : ColumnBuilder, IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ColumnBuilder(in StoreObjectIdentifier storeObject, PropertyBuilder propertyBuilder) : base(storeObject, propertyBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilder.cs b/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilder.cs index 80299098437..ea64ad7c975 100644 --- a/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilder.cs @@ -19,7 +19,7 @@ public class DbFunctionBuilder : DbFunctionBuilderBase /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public DbFunctionBuilder(IMutableDbFunction function) : base(function) { diff --git a/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilderBase.cs b/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilderBase.cs index ffaa6126514..89e602e0587 100644 --- a/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilderBase.cs +++ b/src/EFCore.Relational/Metadata/Builders/DbFunctionBuilderBase.cs @@ -20,7 +20,7 @@ public abstract class DbFunctionBuilderBase : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected DbFunctionBuilderBase(IMutableDbFunction function) { Builder = ((DbFunction)function).Builder; @@ -32,7 +32,7 @@ protected DbFunctionBuilderBase(IMutableDbFunction function) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual InternalDbFunctionBuilder Builder { [DebuggerStepThrough] get; } /// diff --git a/src/EFCore.Relational/Metadata/Builders/DbFunctionParameterBuilder.cs b/src/EFCore.Relational/Metadata/Builders/DbFunctionParameterBuilder.cs index cbe2eb2e24a..1a10bdc366b 100644 --- a/src/EFCore.Relational/Metadata/Builders/DbFunctionParameterBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/DbFunctionParameterBuilder.cs @@ -21,7 +21,7 @@ public class DbFunctionParameterBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public DbFunctionParameterBuilder(IMutableDbFunctionParameter parameter) { Builder = ((DbFunctionParameter)parameter).Builder; diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder.cs index d74937c0ba4..457d9e02c94 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder.cs @@ -18,7 +18,7 @@ public class OwnedNavigationSplitTableBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationSplitTableBuilder(in StoreObjectIdentifier storeObject, OwnedNavigationBuilder ownedNavigationBuilder) { Check.DebugAssert( @@ -48,7 +48,7 @@ public virtual string? Schema /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual EntityTypeMappingFragment InternalMappingFragment { get; } /// diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder``.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder``.cs index 9ec9782da31..d15d646e4e5 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder``.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitTableBuilder``.cs @@ -21,7 +21,7 @@ public class OwnedNavigationSplitTableBuilder : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationSplitTableBuilder( in StoreObjectIdentifier storeObject, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder.cs index e76d87fd7b1..ae1e4c7d648 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder.cs @@ -18,7 +18,7 @@ public class OwnedNavigationSplitViewBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationSplitViewBuilder(in StoreObjectIdentifier storeObject, OwnedNavigationBuilder ownedNavigationBuilder) { Check.DebugAssert( diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder``.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder``.cs index e94e08fbe5f..5872267669f 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder``.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationSplitViewBuilder``.cs @@ -21,7 +21,7 @@ public class OwnedNavigationSplitViewBuilder : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationSplitViewBuilder( in StoreObjectIdentifier storeObject, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder.cs index e515ed29290..573f5744898 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder.cs @@ -18,7 +18,7 @@ public class OwnedNavigationStoredProcedureBuilder : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationStoredProcedureBuilder( IMutableStoredProcedure sproc, OwnedNavigationBuilder ownedNavigationBuilder) @@ -35,7 +35,7 @@ public OwnedNavigationStoredProcedureBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual InternalStoredProcedureBuilder Builder { [DebuggerStepThrough] get; } /// @@ -132,7 +132,7 @@ public virtual OwnedNavigationStoredProcedureBuilder HasRowsAffectedParameter( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual PropertyBuilder CreatePropertyBuilder(string propertyName) { var entityType = OwnedNavigationBuilder.OwnedEntityType; @@ -151,7 +151,7 @@ protected virtual PropertyBuilder CreatePropertyBuilder(string propertyName) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual PropertyBuilder CreatePropertyBuilder( Expression> propertyExpression) { diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder``.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder``.cs index b3a31343889..e0c7c166435 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder``.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationStoredProcedureBuilder``.cs @@ -20,7 +20,7 @@ public class OwnedNavigationStoredProcedureBuilder - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationStoredProcedureBuilder( IMutableStoredProcedure sproc, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder.cs index 00059e7c3ea..679b330a27f 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder.cs @@ -18,7 +18,7 @@ public class OwnedNavigationTableBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationTableBuilder(in StoreObjectIdentifier? storeObject, OwnedNavigationBuilder ownedNavigationBuilder) { StoreObject = storeObject; @@ -43,7 +43,7 @@ public virtual string? Schema /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual StoreObjectIdentifier? StoreObject { get; } /// @@ -153,7 +153,7 @@ public virtual ColumnBuilder Property(string propertyName) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual StoreObjectIdentifier GetStoreObjectIdentifier() => StoreObject ?? throw new InvalidOperationException(RelationalStrings.MappingFragmentMissingName); diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder``.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder``.cs index 4800b637cc5..6b8a8553cca 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder``.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableBuilder``.cs @@ -21,7 +21,7 @@ public class OwnedNavigationTableBuilder : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationTableBuilder( in StoreObjectIdentifier? storeObject, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder.cs index d4b1d1ca368..70fdce25576 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder.cs @@ -14,7 +14,7 @@ public class OwnedNavigationTableValuedFunctionBuilder : DbFunctionBuilderBase, /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationTableValuedFunctionBuilder( IMutableDbFunction function, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder``.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder``.cs index 0e254456bc6..6cf03d2e598 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder``.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationTableValuedFunctionBuilder``.cs @@ -20,7 +20,7 @@ public class OwnedNavigationTableValuedFunctionBuilder - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationTableValuedFunctionBuilder( IMutableDbFunction function, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder.cs index 19f2d0e1388..0ae9c318bab 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder.cs @@ -17,7 +17,7 @@ public class OwnedNavigationViewBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationViewBuilder(in StoreObjectIdentifier storeObject, OwnedNavigationBuilder ownedNavigationBuilder) { Check.DebugAssert( @@ -46,7 +46,7 @@ public virtual string? Schema /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual StoreObjectIdentifier StoreObject { get; } private OwnedNavigationBuilder OwnedNavigationBuilder { get; } diff --git a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder``.cs b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder``.cs index 131c381545d..38a537a2f7c 100644 --- a/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder``.cs +++ b/src/EFCore.Relational/Metadata/Builders/OwnedNavigationViewBuilder``.cs @@ -21,7 +21,7 @@ public class OwnedNavigationViewBuilder : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public OwnedNavigationViewBuilder( in StoreObjectIdentifier storeObject, OwnedNavigationBuilder ownedNavigationBuilder) diff --git a/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder.cs b/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder.cs index 594e3b249d7..63c20c80769 100644 --- a/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder.cs @@ -18,7 +18,7 @@ public class SplitTableBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SplitTableBuilder(in StoreObjectIdentifier storeObject, EntityTypeBuilder entityTypeBuilder) { Check.DebugAssert( @@ -48,7 +48,7 @@ public virtual string? Schema /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual EntityTypeMappingFragment InternalMappingFragment { get; } /// diff --git a/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder`.cs index c1b1220724f..33b7065490c 100644 --- a/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/SplitTableBuilder`.cs @@ -17,7 +17,7 @@ public class SplitTableBuilder : SplitTableBuilder, IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SplitTableBuilder(in StoreObjectIdentifier storeObject, EntityTypeBuilder entityTypeBuilder) : base(storeObject, entityTypeBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder.cs b/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder.cs index 58b5b3da686..21e956b45d5 100644 --- a/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder.cs @@ -18,7 +18,7 @@ public class SplitViewBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SplitViewBuilder(in StoreObjectIdentifier storeObject, EntityTypeBuilder entityTypeBuilder) { Check.DebugAssert( diff --git a/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder`.cs index 41fe934fb3c..d4dec8aff42 100644 --- a/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/SplitViewBuilder`.cs @@ -17,7 +17,7 @@ public class SplitViewBuilder : SplitViewBuilder, IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SplitViewBuilder(in StoreObjectIdentifier storeObject, EntityTypeBuilder entityTypeBuilder) : base(storeObject, entityTypeBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/StoredProcedureBuilder.cs b/src/EFCore.Relational/Metadata/Builders/StoredProcedureBuilder.cs index 59be88ce498..134b5a48f3b 100644 --- a/src/EFCore.Relational/Metadata/Builders/StoredProcedureBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/StoredProcedureBuilder.cs @@ -16,7 +16,7 @@ public class StoredProcedureBuilder : IInfrastructure, IInfra /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StoredProcedureBuilder(IMutableStoredProcedure sproc, EntityTypeBuilder entityTypeBuilder) { Builder = ((StoredProcedure)sproc).Builder; @@ -31,7 +31,7 @@ public StoredProcedureBuilder(IMutableStoredProcedure sproc, EntityTypeBuilder e /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual InternalStoredProcedureBuilder Builder { [DebuggerStepThrough] get; } /// @@ -207,7 +207,7 @@ public virtual StoredProcedureBuilder HasAnnotation(string annotation, object? v /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual PropertyBuilder CreatePropertyBuilder(string propertyName) { var entityType = EntityTypeBuilder.Metadata; @@ -223,9 +223,9 @@ protected virtual PropertyBuilder CreatePropertyBuilder(string propertyName) throw new InvalidOperationException(CoreStrings.PropertyNotFound(propertyName, entityType.DisplayName())); } -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. return new ModelBuilder(entityType.Model) -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. .Entity(property.DeclaringType.Name) .Property(property.ClrType, propertyName); } @@ -236,7 +236,7 @@ protected virtual PropertyBuilder CreatePropertyBuilder(string propertyName) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual PropertyBuilder CreatePropertyBuilder( Expression> propertyExpression) where TDerivedEntity : class @@ -245,9 +245,9 @@ protected virtual PropertyBuilder CreatePropertyBuilder : StoredProcedureBuilder, IInfrastr /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StoredProcedureBuilder(IMutableStoredProcedure sproc, EntityTypeBuilder entityTypeBuilder) : base(sproc, entityTypeBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/StoredProcedureParameterBuilder.cs b/src/EFCore.Relational/Metadata/Builders/StoredProcedureParameterBuilder.cs index 81218264764..3ed1fc1d865 100644 --- a/src/EFCore.Relational/Metadata/Builders/StoredProcedureParameterBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/StoredProcedureParameterBuilder.cs @@ -22,7 +22,7 @@ public class StoredProcedureParameterBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StoredProcedureParameterBuilder( InternalStoredProcedureParameterBuilder builder, PropertyBuilder? propertyBuilder) @@ -43,7 +43,7 @@ public virtual IMutableStoredProcedureParameter Metadata /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual InternalStoredProcedureParameterBuilder Builder { get; } private PropertyBuilder? PropertyBuilder { get; } diff --git a/src/EFCore.Relational/Metadata/Builders/StoredProcedureResultColumnBuilder.cs b/src/EFCore.Relational/Metadata/Builders/StoredProcedureResultColumnBuilder.cs index 85b3c6b4883..07830554843 100644 --- a/src/EFCore.Relational/Metadata/Builders/StoredProcedureResultColumnBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/StoredProcedureResultColumnBuilder.cs @@ -21,7 +21,7 @@ public class StoredProcedureResultColumnBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StoredProcedureResultColumnBuilder( InternalStoredProcedureResultColumnBuilder builder, PropertyBuilder? propertyBuilder) @@ -42,7 +42,7 @@ public virtual IMutableStoredProcedureResultColumn Metadata /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual InternalStoredProcedureResultColumnBuilder Builder { get; } private PropertyBuilder? PropertyBuilder { get; } diff --git a/src/EFCore.Relational/Metadata/Builders/TableBuilder.cs b/src/EFCore.Relational/Metadata/Builders/TableBuilder.cs index ad064b27cfa..ce5e3af473c 100644 --- a/src/EFCore.Relational/Metadata/Builders/TableBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/TableBuilder.cs @@ -18,7 +18,7 @@ public class TableBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public TableBuilder(in StoreObjectIdentifier? storeObject, EntityTypeBuilder entityTypeBuilder) { StoreObject = storeObject; @@ -43,7 +43,7 @@ public virtual string? Schema /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual StoreObjectIdentifier? StoreObject { get; } /// @@ -153,7 +153,7 @@ public virtual ColumnBuilder Property(string propertyName) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual StoreObjectIdentifier GetStoreObjectIdentifier() => StoreObject ?? throw new InvalidOperationException(RelationalStrings.MappingFragmentMissingName); diff --git a/src/EFCore.Relational/Metadata/Builders/TableBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/TableBuilder`.cs index e850337e5bc..407a3fd92b1 100644 --- a/src/EFCore.Relational/Metadata/Builders/TableBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/TableBuilder`.cs @@ -17,7 +17,7 @@ public class TableBuilder : TableBuilder, IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public TableBuilder(in StoreObjectIdentifier? storeObject, EntityTypeBuilder entityTypeBuilder) : base(storeObject, entityTypeBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder.cs b/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder.cs index 6f7533d4e18..3d419068b8a 100644 --- a/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder.cs @@ -14,7 +14,7 @@ public class TableValuedFunctionBuilder : DbFunctionBuilderBase, IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public TableValuedFunctionBuilder(IMutableDbFunction function, EntityTypeBuilder entityTypeBuilder) : base(function) { diff --git a/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder`.cs index 9fa662a25d0..ed9f755dd67 100644 --- a/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/TableValuedFunctionBuilder`.cs @@ -16,7 +16,7 @@ public class TableValuedFunctionBuilder : TableValuedFunctionBuilder, I /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public TableValuedFunctionBuilder(IMutableDbFunction function, EntityTypeBuilder entityTypeBuilder) : base(function, entityTypeBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/ViewBuilder.cs b/src/EFCore.Relational/Metadata/Builders/ViewBuilder.cs index a80bc277b15..3fb61916deb 100644 --- a/src/EFCore.Relational/Metadata/Builders/ViewBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/ViewBuilder.cs @@ -17,7 +17,7 @@ public class ViewBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ViewBuilder(in StoreObjectIdentifier storeObject, EntityTypeBuilder entityTypeBuilder) { Check.DebugAssert( @@ -46,7 +46,7 @@ public virtual string? Schema /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual StoreObjectIdentifier StoreObject { get; } private EntityTypeBuilder EntityTypeBuilder { get; } diff --git a/src/EFCore.Relational/Metadata/Builders/ViewBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/ViewBuilder`.cs index 992f31c70e0..35e2249cb44 100644 --- a/src/EFCore.Relational/Metadata/Builders/ViewBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/ViewBuilder`.cs @@ -17,7 +17,7 @@ public class ViewBuilder : ViewBuilder, IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ViewBuilder(in StoreObjectIdentifier storeObject, EntityTypeBuilder entityTypeBuilder) : base(storeObject, entityTypeBuilder) { diff --git a/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder.cs b/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder.cs index 856f05f8e04..a75e6dd1835 100644 --- a/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder.cs +++ b/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder.cs @@ -18,7 +18,7 @@ public class ViewColumnBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ViewColumnBuilder(in StoreObjectIdentifier storeObject, PropertyBuilder propertyBuilder) { Check.DebugAssert( @@ -42,7 +42,7 @@ public virtual IMutableRelationalPropertyOverrides Overrides /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual RelationalPropertyOverrides InternalOverrides { get; } private PropertyBuilder PropertyBuilder { get; } diff --git a/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder`.cs b/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder`.cs index d3b7a8aa408..7e03d9c3be8 100644 --- a/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder`.cs +++ b/src/EFCore.Relational/Metadata/Builders/ViewColumnBuilder`.cs @@ -15,7 +15,7 @@ public class ViewColumnBuilder : ViewColumnBuilder, IInfrastructure

- [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ViewColumnBuilder(in StoreObjectIdentifier storeObject, PropertyBuilder propertyBuilder) : base(storeObject, propertyBuilder) { diff --git a/src/EFCore.Relational/Metadata/Conventions/Infrastructure/RelationalConventionSetBuilderDependencies.cs b/src/EFCore.Relational/Metadata/Conventions/Infrastructure/RelationalConventionSetBuilderDependencies.cs index e9747dfe1fc..bd0d525828a 100644 --- a/src/EFCore.Relational/Metadata/Conventions/Infrastructure/RelationalConventionSetBuilderDependencies.cs +++ b/src/EFCore.Relational/Metadata/Conventions/Infrastructure/RelationalConventionSetBuilderDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalConventionSetBuilderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalConventionSetBuilderDependencies( IRelationalAnnotationProvider relationalAnnotationProvider, IUpdateSqlGenerator updateSqlGenerator) diff --git a/src/EFCore.Relational/Metadata/Conventions/TableSharingConcurrencyTokenConvention.cs b/src/EFCore.Relational/Metadata/Conventions/TableSharingConcurrencyTokenConvention.cs index ed127d01126..9b89357fd8f 100644 --- a/src/EFCore.Relational/Metadata/Conventions/TableSharingConcurrencyTokenConvention.cs +++ b/src/EFCore.Relational/Metadata/Conventions/TableSharingConcurrencyTokenConvention.cs @@ -143,7 +143,7 @@ public virtual void ProcessModelFinalizing( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static Dictionary>? GetConcurrencyTokensMap( in StoreObjectIdentifier storeObject, IReadOnlyList mappedTypes) @@ -212,7 +212,7 @@ public virtual void ProcessModelFinalizing( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static bool IsConcurrencyTokenMissing( List propertiesMappedToConcurrencyColumn, IReadOnlyEntityType entityType, diff --git a/src/EFCore.Relational/Metadata/IRelationalModel.cs b/src/EFCore.Relational/Metadata/IRelationalModel.cs index 2526098074e..a96f5a2cb5a 100644 --- a/src/EFCore.Relational/Metadata/IRelationalModel.cs +++ b/src/EFCore.Relational/Metadata/IRelationalModel.cs @@ -138,10 +138,12 @@ string ToDebugString(MetadataDebugStringOptions options = MetadataDebugStringOpt { builder.Append(indentString).Append("RelationalModel: "); +#pragma warning disable EF9901 if ((Model is Model) && Collation != null) { builder.AppendLine().Append(indentString).Append("Collation: ").Append(Collation); } +#pragma warning restore EF9901 foreach (var table in Tables) { diff --git a/src/EFCore.Relational/Metadata/Internal/CheckConstraint.cs b/src/EFCore.Relational/Metadata/Internal/CheckConstraint.cs index e40951abb20..342f004aae4 100644 --- a/src/EFCore.Relational/Metadata/Internal/CheckConstraint.cs +++ b/src/EFCore.Relational/Metadata/Internal/CheckConstraint.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CheckConstraint : ConventionAnnotatable, IMutableCheckConstraint, IConventionCheckConstraint, ICheckConstraint { private string? _name; diff --git a/src/EFCore.Relational/Metadata/Internal/Column.cs b/src/EFCore.Relational/Metadata/Internal/Column.cs index 5ee34c578b4..780d74d536f 100644 --- a/src/EFCore.Relational/Metadata/Internal/Column.cs +++ b/src/EFCore.Relational/Metadata/Internal/Column.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class Column : ColumnBase, IColumn { // Warning: Never access these fields directly as access needs to be thread-safe diff --git a/src/EFCore.Relational/Metadata/Internal/ColumnBase.cs b/src/EFCore.Relational/Metadata/Internal/ColumnBase.cs index 277c8bfe32d..8b4dea172cc 100644 --- a/src/EFCore.Relational/Metadata/Internal/ColumnBase.cs +++ b/src/EFCore.Relational/Metadata/Internal/ColumnBase.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ColumnBase : Annotatable, IColumnBase where TColumnMappingBase : class, IColumnMappingBase { diff --git a/src/EFCore.Relational/Metadata/Internal/ColumnListComparer.cs b/src/EFCore.Relational/Metadata/Internal/ColumnListComparer.cs index 92a8a78fa37..e8939cc7ae7 100644 --- a/src/EFCore.Relational/Metadata/Internal/ColumnListComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/ColumnListComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class ColumnListComparer : IComparer>, IEqualityComparer> { ///

diff --git a/src/EFCore.Relational/Metadata/Internal/ColumnMapping.cs b/src/EFCore.Relational/Metadata/Internal/ColumnMapping.cs index b3a38460409..c3d48be5ce4 100644 --- a/src/EFCore.Relational/Metadata/Internal/ColumnMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/ColumnMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ColumnMapping : ColumnMappingBase, IColumnMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/ColumnMappingBase.cs b/src/EFCore.Relational/Metadata/Internal/ColumnMappingBase.cs index a74933e1eba..f1b72954a4b 100644 --- a/src/EFCore.Relational/Metadata/Internal/ColumnMappingBase.cs +++ b/src/EFCore.Relational/Metadata/Internal/ColumnMappingBase.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ColumnMappingBase : Annotatable, IColumnMappingBase { private RelationalTypeMapping? _typeMapping; diff --git a/src/EFCore.Relational/Metadata/Internal/ColumnMappingBaseComparer.cs b/src/EFCore.Relational/Metadata/Internal/ColumnMappingBaseComparer.cs index 945b9c581af..ee5dcd44b03 100644 --- a/src/EFCore.Relational/Metadata/Internal/ColumnMappingBaseComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/ColumnMappingBaseComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class ColumnMappingBaseComparer : IEqualityComparer, IComparer { private ColumnMappingBaseComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/ColumnNameComparer.cs b/src/EFCore.Relational/Metadata/Internal/ColumnNameComparer.cs index 28ce0569a97..5d09d8ac650 100644 --- a/src/EFCore.Relational/Metadata/Internal/ColumnNameComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/ColumnNameComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class ColumnNameComparer : IComparer { private readonly Table _table; diff --git a/src/EFCore.Relational/Metadata/Internal/DbFunction.cs b/src/EFCore.Relational/Metadata/Internal/DbFunction.cs index 0d0e5da0215..70d4137448f 100644 --- a/src/EFCore.Relational/Metadata/Internal/DbFunction.cs +++ b/src/EFCore.Relational/Metadata/Internal/DbFunction.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class DbFunction : ConventionAnnotatable, IMutableDbFunction, IConventionDbFunction, IRuntimeDbFunction { private readonly List _parameters; @@ -665,7 +666,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IDbFunction)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/Internal/DbFunctionParameter.cs b/src/EFCore.Relational/Metadata/Internal/DbFunctionParameter.cs index 664229ec230..17c33c9c26b 100644 --- a/src/EFCore.Relational/Metadata/Internal/DbFunctionParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/DbFunctionParameter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class DbFunctionParameter : ConventionAnnotatable, IMutableDbFunctionParameter, diff --git a/src/EFCore.Relational/Metadata/Internal/EntityTypeMappingFragment.cs b/src/EFCore.Relational/Metadata/Internal/EntityTypeMappingFragment.cs index d37388ba95c..0e2ba25f68f 100644 --- a/src/EFCore.Relational/Metadata/Internal/EntityTypeMappingFragment.cs +++ b/src/EFCore.Relational/Metadata/Internal/EntityTypeMappingFragment.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class EntityTypeMappingFragment : ConventionAnnotatable, IEntityTypeMappingFragment, @@ -288,7 +289,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IEntityTypeMappingFragment)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraint.cs b/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraint.cs index b802cad3115..24d1ddadb1f 100644 --- a/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraint.cs +++ b/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraint.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ForeignKeyConstraint : Annotatable, IForeignKeyConstraint { /// diff --git a/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraintComparer.cs b/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraintComparer.cs index 218fc176dc9..1ffebe1a9bd 100644 --- a/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraintComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/ForeignKeyConstraintComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class ForeignKeyConstraintComparer : IEqualityComparer, IComparer { private ForeignKeyConstraintComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/FunctionColumn.cs b/src/EFCore.Relational/Metadata/Internal/FunctionColumn.cs index 72a864d5c32..b5a8be8d17b 100644 --- a/src/EFCore.Relational/Metadata/Internal/FunctionColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/FunctionColumn.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class FunctionColumn : ColumnBase, IFunctionColumn { /// diff --git a/src/EFCore.Relational/Metadata/Internal/FunctionColumnMapping.cs b/src/EFCore.Relational/Metadata/Internal/FunctionColumnMapping.cs index 43770ef97d0..15a7f5dd1fc 100644 --- a/src/EFCore.Relational/Metadata/Internal/FunctionColumnMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/FunctionColumnMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class FunctionColumnMapping : ColumnMappingBase, IFunctionColumnMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/FunctionMapping.cs b/src/EFCore.Relational/Metadata/Internal/FunctionMapping.cs index 2bf82c263f2..12b9908dd53 100644 --- a/src/EFCore.Relational/Metadata/Internal/FunctionMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/FunctionMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class FunctionMapping : TableMappingBase, IFunctionMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunction.cs b/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunction.cs index 3a13226e692..f56ef199829 100644 --- a/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunction.cs +++ b/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunction.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRuntimeDbFunction : IDbFunction { /// diff --git a/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunctionParameter.cs b/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunctionParameter.cs index 21e45608bb6..34b6092250f 100644 --- a/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunctionParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/IRuntimeDbFunctionParameter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRuntimeDbFunctionParameter : IDbFunctionParameter { /// diff --git a/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedure.cs b/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedure.cs index 29c667a548e..7dcff023532 100644 --- a/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedure.cs +++ b/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedure.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRuntimeStoredProcedure : IStoredProcedure { /// diff --git a/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureParameter.cs b/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureParameter.cs index eb3590d3989..f7efe24580a 100644 --- a/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureParameter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRuntimeStoredProcedureParameter : IStoredProcedureParameter { /// diff --git a/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureResultColumn.cs b/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureResultColumn.cs index c0246ca0f2c..f790809ffcc 100644 --- a/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureResultColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/IRuntimeStoredProcedureResultColumn.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRuntimeStoredProcedureResultColumn : IStoredProcedureResultColumn { /// diff --git a/src/EFCore.Relational/Metadata/Internal/InternalCheckConstraintBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalCheckConstraintBuilder.cs index 9851928e0f8..d5dec572218 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalCheckConstraintBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalCheckConstraintBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalCheckConstraintBuilder : AnnotatableBuilder, IConventionCheckConstraintBuilder diff --git a/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionBuilder.cs index 5ccc41eb578..f0f9ab59d33 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionBuilder.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalDbFunctionBuilder : AnnotatableBuilder, IConventionDbFunctionBuilder { /// diff --git a/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionParameterBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionParameterBuilder.cs index 0ab991e8231..84eb9a66584 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionParameterBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalDbFunctionParameterBuilder.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// and it is not designed to be directly constructed in your application code. /// /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalDbFunctionParameterBuilder : AnnotatableBuilder, IConventionDbFunctionParameterBuilder { @@ -27,7 +28,7 @@ public class InternalDbFunctionParameterBuilder : AnnotatableBuilder - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public InternalDbFunctionParameterBuilder(DbFunctionParameter parameter, IConventionModelBuilder modelBuilder) : base(parameter, modelBuilder) { diff --git a/src/EFCore.Relational/Metadata/Internal/InternalEntityTypeMappingFragmentBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalEntityTypeMappingFragmentBuilder.cs index 7f60361e2c0..b7c6b620876 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalEntityTypeMappingFragmentBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalEntityTypeMappingFragmentBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalEntityTypeMappingFragmentBuilder : AnnotatableBuilder, IConventionEntityTypeMappingFragmentBuilder diff --git a/src/EFCore.Relational/Metadata/Internal/InternalRelationalPropertyOverridesBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalRelationalPropertyOverridesBuilder.cs index 6487e021c0e..59680a558ec 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalRelationalPropertyOverridesBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalRelationalPropertyOverridesBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalRelationalPropertyOverridesBuilder : AnnotatableBuilder, IConventionRelationalPropertyOverridesBuilder diff --git a/src/EFCore.Relational/Metadata/Internal/InternalSequenceBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalSequenceBuilder.cs index a429587eb44..8354b222ee6 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalSequenceBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalSequenceBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalSequenceBuilder : AnnotatableBuilder, IConventionSequenceBuilder { /// diff --git a/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureBuilder.cs index 3deb2c73393..94338805606 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalStoredProcedureBuilder : AnnotatableBuilder, IConventionStoredProcedureBuilder diff --git a/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureParameterBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureParameterBuilder.cs index 0b166e19a94..c5a38617e43 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureParameterBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureParameterBuilder.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalStoredProcedureParameterBuilder : AnnotatableBuilder, IConventionStoredProcedureParameterBuilder diff --git a/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureResultColumnBuilder.cs b/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureResultColumnBuilder.cs index fc753f7046a..fca82fa7f1d 100644 --- a/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureResultColumnBuilder.cs +++ b/src/EFCore.Relational/Metadata/Internal/InternalStoredProcedureResultColumnBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class InternalStoredProcedureResultColumnBuilder : AnnotatableBuilder, IConventionStoredProcedureResultColumnBuilder diff --git a/src/EFCore.Relational/Metadata/Internal/JsonColumn.cs b/src/EFCore.Relational/Metadata/Internal/JsonColumn.cs index 3ad9900707c..e3c3fddce77 100644 --- a/src/EFCore.Relational/Metadata/Internal/JsonColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/JsonColumn.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class JsonColumn : Column, IColumn { /// diff --git a/src/EFCore.Relational/Metadata/Internal/JsonColumnBase.cs b/src/EFCore.Relational/Metadata/Internal/JsonColumnBase.cs index 3209bf64e74..d33ed3a88f3 100644 --- a/src/EFCore.Relational/Metadata/Internal/JsonColumnBase.cs +++ b/src/EFCore.Relational/Metadata/Internal/JsonColumnBase.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class JsonColumnBase : ColumnBase { /// diff --git a/src/EFCore.Relational/Metadata/Internal/JsonViewColumn.cs b/src/EFCore.Relational/Metadata/Internal/JsonViewColumn.cs index 77c327332e3..f1c27bb3f9d 100644 --- a/src/EFCore.Relational/Metadata/Internal/JsonViewColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/JsonViewColumn.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class JsonViewColumn : ViewColumn, IViewColumn { /// diff --git a/src/EFCore.Relational/Metadata/Internal/NamedListComparer.cs b/src/EFCore.Relational/Metadata/Internal/NamedListComparer.cs index 5347b841344..1da9182c1e4 100644 --- a/src/EFCore.Relational/Metadata/Internal/NamedListComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/NamedListComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class NamedListComparer : IComparer<(string, string?, IReadOnlyList)>, IEqualityComparer<(string, string?, IReadOnlyList)> { diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalEntityTypeExtensions.cs b/src/EFCore.Relational/Metadata/Internal/RelationalEntityTypeExtensions.cs index c62e88fc279..e1198525cb0 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalEntityTypeExtensions.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalEntityTypeExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalEntityTypeExtensions { /// diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalForeignKeyExtensions.cs b/src/EFCore.Relational/Metadata/Internal/RelationalForeignKeyExtensions.cs index 1f5ea263001..780feaf08dc 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalForeignKeyExtensions.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalForeignKeyExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalForeignKeyExtensions { /// diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalIndexExtensions.cs b/src/EFCore.Relational/Metadata/Internal/RelationalIndexExtensions.cs index 019d98ac14c..90a256f7ad2 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalIndexExtensions.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalIndexExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalIndexExtensions { /// diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalKeyExtensions.cs b/src/EFCore.Relational/Metadata/Internal/RelationalKeyExtensions.cs index 6f47420c29f..2fa1d5ce018 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalKeyExtensions.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalKeyExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalKeyExtensions { /// diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs b/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs index d39a5713d3a..080fb61c3b0 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalModel : Annotatable, IRelationalModel { private bool _isReadOnly; diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalPropertyExtensions.cs b/src/EFCore.Relational/Metadata/Internal/RelationalPropertyExtensions.cs index bc86bdd78c2..806a14e4fba 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalPropertyExtensions.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalPropertyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalPropertyExtensions { /// diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalPropertyOverrides.cs b/src/EFCore.Relational/Metadata/Internal/RelationalPropertyOverrides.cs index fea560ea1c9..2991322c366 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalPropertyOverrides.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalPropertyOverrides.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalPropertyOverrides : ConventionAnnotatable, IMutableRelationalPropertyOverrides, @@ -328,7 +329,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IRelationalPropertyOverrides)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalTypeBaseExtensions.cs b/src/EFCore.Relational/Metadata/Internal/RelationalTypeBaseExtensions.cs index 5b0e18201e4..c707dca420c 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalTypeBaseExtensions.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalTypeBaseExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalTypeBaseExtensions { /// diff --git a/src/EFCore.Relational/Metadata/RuntimeStoredProcedureParameter.cs b/src/EFCore.Relational/Metadata/Internal/RuntimeStoredProcedureParameter.cs similarity index 96% rename from src/EFCore.Relational/Metadata/RuntimeStoredProcedureParameter.cs rename to src/EFCore.Relational/Metadata/Internal/RuntimeStoredProcedureParameter.cs index 00ce88d3c9d..fadf5144cc8 100644 --- a/src/EFCore.Relational/Metadata/RuntimeStoredProcedureParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/RuntimeStoredProcedureParameter.cs @@ -8,6 +8,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// /// Represents a stored procedure parameter. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RuntimeStoredProcedureParameter : AnnotatableBase, IRuntimeStoredProcedureParameter { private IStoreStoredProcedureParameter? _storeParameter; @@ -23,7 +24,7 @@ public class RuntimeStoredProcedureParameter : AnnotatableBase, IRuntimeStoredPr /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RuntimeStoredProcedureParameter( RuntimeStoredProcedure storedProcedure, string name, @@ -60,7 +61,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IStoredProcedureParameter)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/RuntimeStoredProcedureResultColumn.cs b/src/EFCore.Relational/Metadata/Internal/RuntimeStoredProcedureResultColumn.cs similarity index 96% rename from src/EFCore.Relational/Metadata/RuntimeStoredProcedureResultColumn.cs rename to src/EFCore.Relational/Metadata/Internal/RuntimeStoredProcedureResultColumn.cs index 56e250e0afe..da3c1ca220e 100644 --- a/src/EFCore.Relational/Metadata/RuntimeStoredProcedureResultColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/RuntimeStoredProcedureResultColumn.cs @@ -6,6 +6,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// /// Represents a stored procedure result column. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RuntimeStoredProcedureResultColumn : AnnotatableBase, IRuntimeStoredProcedureResultColumn { private IStoreStoredProcedureResultColumn? _storeResultColumn; @@ -19,7 +20,7 @@ public class RuntimeStoredProcedureResultColumn : AnnotatableBase, IRuntimeStore /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RuntimeStoredProcedureResultColumn( RuntimeStoredProcedure storedProcedure, string name, @@ -52,7 +53,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IStoredProcedureResultColumn)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/Internal/Sequence.cs b/src/EFCore.Relational/Metadata/Internal/Sequence.cs index 8ae08b579b2..f55e4aa4706 100644 --- a/src/EFCore.Relational/Metadata/Internal/Sequence.cs +++ b/src/EFCore.Relational/Metadata/Internal/Sequence.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class Sequence : ConventionAnnotatable, IMutableSequence, IConventionSequence, ISequence { private readonly string? _schema; diff --git a/src/EFCore.Relational/Metadata/Internal/SqlQuery.cs b/src/EFCore.Relational/Metadata/Internal/SqlQuery.cs index 685655ca267..57029329b01 100644 --- a/src/EFCore.Relational/Metadata/Internal/SqlQuery.cs +++ b/src/EFCore.Relational/Metadata/Internal/SqlQuery.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SqlQuery : TableBase, ISqlQuery { /// diff --git a/src/EFCore.Relational/Metadata/Internal/SqlQueryColumn.cs b/src/EFCore.Relational/Metadata/Internal/SqlQueryColumn.cs index 9985f3100e4..432fd3d8565 100644 --- a/src/EFCore.Relational/Metadata/Internal/SqlQueryColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/SqlQueryColumn.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SqlQueryColumn : ColumnBase, ISqlQueryColumn { /// diff --git a/src/EFCore.Relational/Metadata/Internal/SqlQueryColumnMapping.cs b/src/EFCore.Relational/Metadata/Internal/SqlQueryColumnMapping.cs index f94fbf9dd79..40a25e9e73e 100644 --- a/src/EFCore.Relational/Metadata/Internal/SqlQueryColumnMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/SqlQueryColumnMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SqlQueryColumnMapping : ColumnMappingBase, ISqlQueryColumnMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/SqlQueryMapping.cs b/src/EFCore.Relational/Metadata/Internal/SqlQueryMapping.cs index 114ef23f3c8..6a1a9868bda 100644 --- a/src/EFCore.Relational/Metadata/Internal/SqlQueryMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/SqlQueryMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SqlQueryMapping : TableMappingBase, ISqlQueryMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/StoreFunction.cs b/src/EFCore.Relational/Metadata/Internal/StoreFunction.cs index fd4de8fe25f..233cdc4c20f 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoreFunction.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoreFunction.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoreFunction : TableBase, IStoreFunction { /// diff --git a/src/EFCore.Relational/Metadata/Internal/StoreFunctionParameter.cs b/src/EFCore.Relational/Metadata/Internal/StoreFunctionParameter.cs index c5984199f22..fd329ffc489 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoreFunctionParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoreFunctionParameter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoreFunctionParameter : Annotatable, IStoreFunctionParameter { /// diff --git a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedure.cs b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedure.cs index 4db631dcaa5..fa936538776 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedure.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedure.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoreStoredProcedure : TableBase, IStoreStoredProcedure { private readonly SortedDictionary _parametersSet; diff --git a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureParameter.cs b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureParameter.cs index 6f8f277707d..8e4914bbe0b 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureParameter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoreStoredProcedureParameter : ColumnBase, IStoreStoredProcedureParameter { diff --git a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureResultColumn.cs b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureResultColumn.cs index 29f1f4913c0..752cdb36eb5 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureResultColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureResultColumn.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoreStoredProcedureResultColumn : ColumnBase, IStoreStoredProcedureResultColumn { diff --git a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureReturnValue.cs b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureReturnValue.cs index ac4868f14bb..fd1d6cd86b4 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureReturnValue.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoreStoredProcedureReturnValue.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoreStoredProcedureReturnValue : ColumnBase, IStoreStoredProcedureReturnValue { /// diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedure.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedure.cs index de01c98664b..3fbacec64fc 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedure.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedure.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoredProcedure : ConventionAnnotatable, IRuntimeStoredProcedure, diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedureComparer.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedureComparer.cs index edb4e5d6be6..07eb2620310 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedureComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedureComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class StoredProcedureComparer : IEqualityComparer, IComparer { private StoredProcedureComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedureMapping.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedureMapping.cs index 4224b4ab73a..523f985e9da 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedureMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedureMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoredProcedureMapping : TableMappingBase, IStoredProcedureMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameter.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameter.cs index 4bcba9c28fc..f3c1010d837 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameter.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoredProcedureParameter : ConventionAnnotatable, IMutableStoredProcedureParameter, diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameterMapping.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameterMapping.cs index 3a07090020e..14f7a7ebd4a 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameterMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedureParameterMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoredProcedureParameterMapping : ColumnMappingBase, IStoredProcedureParameterMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumn.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumn.cs index 3e744a03001..32eedabd9e3 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumn.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoredProcedureResultColumn : ConventionAnnotatable, IMutableStoredProcedureResultColumn, diff --git a/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumnMapping.cs b/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumnMapping.cs index 51b40790312..069daa1e246 100644 --- a/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumnMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/StoredProcedureResultColumnMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StoredProcedureResultColumnMapping : ColumnMappingBase, IStoredProcedureResultColumnMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/Table.cs b/src/EFCore.Relational/Metadata/Internal/Table.cs index 10d70265c92..0be29347f73 100644 --- a/src/EFCore.Relational/Metadata/Internal/Table.cs +++ b/src/EFCore.Relational/Metadata/Internal/Table.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class Table : TableBase, ITable { private UniqueConstraint? _primaryKey; diff --git a/src/EFCore.Relational/Metadata/Internal/TableBase.cs b/src/EFCore.Relational/Metadata/Internal/TableBase.cs index 43d36758ed2..7a8f348a634 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableBase.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableBase.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TableBase : Annotatable, ITableBase { /// diff --git a/src/EFCore.Relational/Metadata/Internal/TableBaseIdentityComparer.cs b/src/EFCore.Relational/Metadata/Internal/TableBaseIdentityComparer.cs index 3012545e100..b5db1a3132f 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableBaseIdentityComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableBaseIdentityComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class TableBaseIdentityComparer : IEqualityComparer { private TableBaseIdentityComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/TableIndex.cs b/src/EFCore.Relational/Metadata/Internal/TableIndex.cs index 31866e8084d..4c35bd09fef 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableIndex.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableIndex.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TableIndex : Annotatable, ITableIndex { /// diff --git a/src/EFCore.Relational/Metadata/Internal/TableIndexComparer.cs b/src/EFCore.Relational/Metadata/Internal/TableIndexComparer.cs index 81f3fd5f26e..354b7446488 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableIndexComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableIndexComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class TableIndexComparer : IEqualityComparer, IComparer { private TableIndexComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/TableMapping.cs b/src/EFCore.Relational/Metadata/Internal/TableMapping.cs index 2a82ad5aaec..80b8c789010 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TableMapping : TableMappingBase, ITableMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/TableMappingBase.cs b/src/EFCore.Relational/Metadata/Internal/TableMappingBase.cs index 7f2f26fe570..3cd9a8fd8c7 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableMappingBase.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableMappingBase.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TableMappingBase : Annotatable, ITableMappingBase where TColumnMapping : class, IColumnMappingBase { diff --git a/src/EFCore.Relational/Metadata/Internal/TableMappingBaseComparer.cs b/src/EFCore.Relational/Metadata/Internal/TableMappingBaseComparer.cs index 952ecb44a49..d8de0884b79 100644 --- a/src/EFCore.Relational/Metadata/Internal/TableMappingBaseComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/TableMappingBaseComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class TableMappingBaseComparer : IEqualityComparer, IComparer { private TableMappingBaseComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/UniqueConstraint.cs b/src/EFCore.Relational/Metadata/Internal/UniqueConstraint.cs index 0886ebeb3f8..3554060e349 100644 --- a/src/EFCore.Relational/Metadata/Internal/UniqueConstraint.cs +++ b/src/EFCore.Relational/Metadata/Internal/UniqueConstraint.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class UniqueConstraint : Annotatable, IPrimaryKeyConstraint { /// @@ -89,7 +90,7 @@ public virtual IRowKeyValueFactory GetRowKeyValueFactory() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual void SetRowKeyValueFactory(IRowKeyValueFactory factory) => _rowKeyValueFactory = factory; diff --git a/src/EFCore.Relational/Metadata/Internal/UniqueConstraintComparer.cs b/src/EFCore.Relational/Metadata/Internal/UniqueConstraintComparer.cs index e8c4bd37e5f..205a17e00b4 100644 --- a/src/EFCore.Relational/Metadata/Internal/UniqueConstraintComparer.cs +++ b/src/EFCore.Relational/Metadata/Internal/UniqueConstraintComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class UniqueConstraintComparer : IEqualityComparer, IComparer { private UniqueConstraintComparer() diff --git a/src/EFCore.Relational/Metadata/Internal/View.cs b/src/EFCore.Relational/Metadata/Internal/View.cs index 09d896d6a85..6321fed5579 100644 --- a/src/EFCore.Relational/Metadata/Internal/View.cs +++ b/src/EFCore.Relational/Metadata/Internal/View.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class View : TableBase, IView { /// diff --git a/src/EFCore.Relational/Metadata/Internal/ViewColumn.cs b/src/EFCore.Relational/Metadata/Internal/ViewColumn.cs index de427a23056..68819ec7a04 100644 --- a/src/EFCore.Relational/Metadata/Internal/ViewColumn.cs +++ b/src/EFCore.Relational/Metadata/Internal/ViewColumn.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ViewColumn : ColumnBase, IViewColumn { /// diff --git a/src/EFCore.Relational/Metadata/Internal/ViewColumnMapping.cs b/src/EFCore.Relational/Metadata/Internal/ViewColumnMapping.cs index 5d2d2f5082a..662a73350b2 100644 --- a/src/EFCore.Relational/Metadata/Internal/ViewColumnMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/ViewColumnMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ViewColumnMapping : ColumnMappingBase, IViewColumnMapping { /// diff --git a/src/EFCore.Relational/Metadata/Internal/ViewMapping.cs b/src/EFCore.Relational/Metadata/Internal/ViewMapping.cs index 7faf3af154c..29f37476d9d 100644 --- a/src/EFCore.Relational/Metadata/Internal/ViewMapping.cs +++ b/src/EFCore.Relational/Metadata/Internal/ViewMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ViewMapping : TableMappingBase, IViewMapping { /// diff --git a/src/EFCore.Relational/Metadata/RelationalAdHocMapperDependencies.cs b/src/EFCore.Relational/Metadata/RelationalAdHocMapperDependencies.cs index cf1e44b4029..e2a2e389c83 100644 --- a/src/EFCore.Relational/Metadata/RelationalAdHocMapperDependencies.cs +++ b/src/EFCore.Relational/Metadata/RelationalAdHocMapperDependencies.cs @@ -34,7 +34,7 @@ public sealed record RelationalAdHocMapperDependencies /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalAdHocMapperDependencies() { } diff --git a/src/EFCore.Relational/Metadata/RelationalAnnotationProviderDependencies.cs b/src/EFCore.Relational/Metadata/RelationalAnnotationProviderDependencies.cs index ba93c173859..2a3f063981c 100644 --- a/src/EFCore.Relational/Metadata/RelationalAnnotationProviderDependencies.cs +++ b/src/EFCore.Relational/Metadata/RelationalAnnotationProviderDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalAnnotationProviderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalAnnotationProviderDependencies() { } diff --git a/src/EFCore.Relational/Metadata/RuntimeDbFunction.cs b/src/EFCore.Relational/Metadata/RuntimeDbFunction.cs index 99712851fe8..957f24bcba1 100644 --- a/src/EFCore.Relational/Metadata/RuntimeDbFunction.cs +++ b/src/EFCore.Relational/Metadata/RuntimeDbFunction.cs @@ -152,7 +152,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IDbFunction)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/RuntimeDbFunctionParameter.cs b/src/EFCore.Relational/Metadata/RuntimeDbFunctionParameter.cs index a71d08bf37b..902da8114f8 100644 --- a/src/EFCore.Relational/Metadata/RuntimeDbFunctionParameter.cs +++ b/src/EFCore.Relational/Metadata/RuntimeDbFunctionParameter.cs @@ -28,7 +28,7 @@ public class RuntimeDbFunctionParameter : AnnotatableBase, IRuntimeDbFunctionPar /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RuntimeDbFunctionParameter( RuntimeDbFunction function, string name, @@ -94,7 +94,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IDbFunctionParameter)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/RuntimeEntityTypeMappingFragment.cs b/src/EFCore.Relational/Metadata/RuntimeEntityTypeMappingFragment.cs index 2ecbc9b896a..4387f21b8f4 100644 --- a/src/EFCore.Relational/Metadata/RuntimeEntityTypeMappingFragment.cs +++ b/src/EFCore.Relational/Metadata/RuntimeEntityTypeMappingFragment.cs @@ -54,7 +54,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IEntityTypeMappingFragment)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/RuntimeRelationalPropertyOverrides.cs b/src/EFCore.Relational/Metadata/RuntimeRelationalPropertyOverrides.cs index bee9445fcf0..91ca1d3bf13 100644 --- a/src/EFCore.Relational/Metadata/RuntimeRelationalPropertyOverrides.cs +++ b/src/EFCore.Relational/Metadata/RuntimeRelationalPropertyOverrides.cs @@ -50,7 +50,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IRelationalPropertyOverrides)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/RuntimeSequence.cs b/src/EFCore.Relational/Metadata/RuntimeSequence.cs index 37503954dbe..d90901e6a9f 100644 --- a/src/EFCore.Relational/Metadata/RuntimeSequence.cs +++ b/src/EFCore.Relational/Metadata/RuntimeSequence.cs @@ -102,7 +102,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((ISequence)this).ToDebugString(), diff --git a/src/EFCore.Relational/Metadata/RuntimeStoredProcedure.cs b/src/EFCore.Relational/Metadata/RuntimeStoredProcedure.cs index 45a171b79c3..f572b924d76 100644 --- a/src/EFCore.Relational/Metadata/RuntimeStoredProcedure.cs +++ b/src/EFCore.Relational/Metadata/RuntimeStoredProcedure.cs @@ -106,7 +106,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual DebugView DebugView => new( () => ((IStoredProcedure)this).ToDebugString(), diff --git a/src/EFCore.Relational/Migrations/HistoryRepositoryDependencies.cs b/src/EFCore.Relational/Migrations/HistoryRepositoryDependencies.cs index b3e83400593..894f1392dda 100644 --- a/src/EFCore.Relational/Migrations/HistoryRepositoryDependencies.cs +++ b/src/EFCore.Relational/Migrations/HistoryRepositoryDependencies.cs @@ -44,7 +44,7 @@ public sealed record HistoryRepositoryDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public HistoryRepositoryDependencies( IRelationalDatabaseCreator databaseCreator, IRawSqlCommandBuilder rawSqlCommandBuilder, diff --git a/src/EFCore.Relational/Migrations/Internal/MigrationCommandExecutor.cs b/src/EFCore.Relational/Migrations/Internal/MigrationCommandExecutor.cs index 24546240a86..9888c7e3350 100644 --- a/src/EFCore.Relational/Migrations/Internal/MigrationCommandExecutor.cs +++ b/src/EFCore.Relational/Migrations/Internal/MigrationCommandExecutor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class MigrationCommandExecutor : IMigrationCommandExecutor { /// diff --git a/src/EFCore.Relational/Migrations/Internal/MigrationExtensions.cs b/src/EFCore.Relational/Migrations/Internal/MigrationExtensions.cs index f4723bc683b..c655b081931 100644 --- a/src/EFCore.Relational/Migrations/Internal/MigrationExtensions.cs +++ b/src/EFCore.Relational/Migrations/Internal/MigrationExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class MigrationExtensions { /// diff --git a/src/EFCore.Relational/Migrations/Internal/MigrationsAssembly.cs b/src/EFCore.Relational/Migrations/Internal/MigrationsAssembly.cs index d323288303d..f4e3d21cfe5 100644 --- a/src/EFCore.Relational/Migrations/Internal/MigrationsAssembly.cs +++ b/src/EFCore.Relational/Migrations/Internal/MigrationsAssembly.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class MigrationsAssembly : IMigrationsAssembly { private readonly IMigrationsIdGenerator _idGenerator; diff --git a/src/EFCore.Relational/Migrations/Internal/MigrationsIdGenerator.cs b/src/EFCore.Relational/Migrations/Internal/MigrationsIdGenerator.cs index 53e27231928..1ded682c4cc 100644 --- a/src/EFCore.Relational/Migrations/Internal/MigrationsIdGenerator.cs +++ b/src/EFCore.Relational/Migrations/Internal/MigrationsIdGenerator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class MigrationsIdGenerator : IMigrationsIdGenerator { private const string Format = "yyyyMMddHHmmss"; diff --git a/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs b/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs index 1eb56e1899e..cc1eb478806 100644 --- a/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs +++ b/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class MigrationsModelDiffer : IMigrationsModelDiffer { private static readonly Type[] DropOperationTypes = diff --git a/src/EFCore.Relational/Migrations/Internal/Migrator.cs b/src/EFCore.Relational/Migrations/Internal/Migrator.cs index 67d61c60844..17d87385f6a 100644 --- a/src/EFCore.Relational/Migrations/Internal/Migrator.cs +++ b/src/EFCore.Relational/Migrations/Internal/Migrator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class Migrator : IMigrator { private readonly IMigrationsAssembly _migrationsAssembly; diff --git a/src/EFCore.Relational/Migrations/MigrationsAnnotationProviderDependencies.cs b/src/EFCore.Relational/Migrations/MigrationsAnnotationProviderDependencies.cs index 38869171fbb..02ebe566ac2 100644 --- a/src/EFCore.Relational/Migrations/MigrationsAnnotationProviderDependencies.cs +++ b/src/EFCore.Relational/Migrations/MigrationsAnnotationProviderDependencies.cs @@ -34,7 +34,7 @@ namespace Microsoft.EntityFrameworkCore.Migrations; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// /// -[EntityFrameworkInternal] +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed record MigrationsAnnotationProviderDependencies { /// @@ -51,7 +51,7 @@ public sealed record MigrationsAnnotationProviderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public MigrationsAnnotationProviderDependencies() { } diff --git a/src/EFCore.Relational/Migrations/MigrationsSqlGeneratorDependencies.cs b/src/EFCore.Relational/Migrations/MigrationsSqlGeneratorDependencies.cs index dc6fd90d533..11604e64a26 100644 --- a/src/EFCore.Relational/Migrations/MigrationsSqlGeneratorDependencies.cs +++ b/src/EFCore.Relational/Migrations/MigrationsSqlGeneratorDependencies.cs @@ -44,7 +44,7 @@ public sealed record MigrationsSqlGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public MigrationsSqlGeneratorDependencies( IRelationalCommandBuilderFactory commandBuilderFactory, IUpdateSqlGenerator updateSqlGenerator, diff --git a/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs b/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs index 64c5fcd3b60..9cdadb3867c 100644 --- a/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs +++ b/src/EFCore.Relational/Properties/RelationalStrings.Designer.cs @@ -2186,6 +2186,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal /// 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. /// + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static class RelationalResources { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.Relational/Properties/RelationalStrings.Designer.tt b/src/EFCore.Relational/Properties/RelationalStrings.Designer.tt index 02cf0c52c62..c92acbf1eb5 100644 --- a/src/EFCore.Relational/Properties/RelationalStrings.Designer.tt +++ b/src/EFCore.Relational/Properties/RelationalStrings.Designer.tt @@ -3,5 +3,6 @@ Session["ResourceFile"] = "RelationalStrings.resx"; Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Properties"; Session["LoggingDefinitionsClass"] = "RelationalLoggingDefinitions"; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.RelationalInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.Relational/Query/Internal/BufferedDataReader.cs b/src/EFCore.Relational/Query/Internal/BufferedDataReader.cs index 620bdc9a5bd..8dcd17b7d4f 100644 --- a/src/EFCore.Relational/Query/Internal/BufferedDataReader.cs +++ b/src/EFCore.Relational/Query/Internal/BufferedDataReader.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class BufferedDataReader : DbDataReader { private readonly bool _detailedErrorsEnabled; diff --git a/src/EFCore.Relational/Query/Internal/ByteArraySequenceEqualTranslator.cs b/src/EFCore.Relational/Query/Internal/ByteArraySequenceEqualTranslator.cs index 7fb7cb88180..f7ce0ec11e8 100644 --- a/src/EFCore.Relational/Query/Internal/ByteArraySequenceEqualTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/ByteArraySequenceEqualTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ByteArraySequenceEqualTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/CollateTranslator.cs b/src/EFCore.Relational/Query/Internal/CollateTranslator.cs index faebaa9af3e..2c2315de891 100644 --- a/src/EFCore.Relational/Query/Internal/CollateTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/CollateTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CollateTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo diff --git a/src/EFCore.Relational/Query/Internal/ComparisonTranslator.cs b/src/EFCore.Relational/Query/Internal/ComparisonTranslator.cs index 2a03145b9ca..c0d41028bb1 100644 --- a/src/EFCore.Relational/Query/Internal/ComparisonTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/ComparisonTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ComparisonTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/ContainsTranslator.cs b/src/EFCore.Relational/Query/Internal/ContainsTranslator.cs index 27ec3e4176a..a5db023bf73 100644 --- a/src/EFCore.Relational/Query/Internal/ContainsTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/ContainsTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ContainsTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/EnumHasFlagTranslator.cs b/src/EFCore.Relational/Query/Internal/EnumHasFlagTranslator.cs index f894fe6e283..030ee263d8c 100644 --- a/src/EFCore.Relational/Query/Internal/EnumHasFlagTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/EnumHasFlagTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class EnumHasFlagTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo diff --git a/src/EFCore.Relational/Query/Internal/EqualsTranslator.cs b/src/EFCore.Relational/Query/Internal/EqualsTranslator.cs index ad58fbe7636..927129f9b8a 100644 --- a/src/EFCore.Relational/Query/Internal/EqualsTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/EqualsTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class EqualsTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/FromSqlParameterExpandingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/FromSqlParameterExpandingExpressionVisitor.cs index bafd0d3dfe7..ad64062dffd 100644 --- a/src/EFCore.Relational/Query/Internal/FromSqlParameterExpandingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/FromSqlParameterExpandingExpressionVisitor.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class FromSqlParameterExpandingExpressionVisitor : ExpressionVisitor { private readonly IDictionary _visitedFromSqlExpressions diff --git a/src/EFCore.Relational/Query/Internal/FromSqlQueryRootExpression.cs b/src/EFCore.Relational/Query/Internal/FromSqlQueryRootExpression.cs index b9e2967cb30..ac5293e0708 100644 --- a/src/EFCore.Relational/Query/Internal/FromSqlQueryRootExpression.cs +++ b/src/EFCore.Relational/Query/Internal/FromSqlQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class FromSqlQueryRootExpression : EntityQueryRootExpression { /// diff --git a/src/EFCore.Relational/Query/Internal/FromSqlQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/FromSqlQueryingEnumerable.cs index 817b2614048..b9b574ca9b3 100644 --- a/src/EFCore.Relational/Query/Internal/FromSqlQueryingEnumerable.cs +++ b/src/EFCore.Relational/Query/Internal/FromSqlQueryingEnumerable.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class FromSqlQueryingEnumerable : IEnumerable, IAsyncEnumerable, IRelationalQueryingEnumerable { private readonly RelationalQueryContext _relationalQueryContext; diff --git a/src/EFCore.Relational/Query/Internal/GetValueOrDefaultTranslator.cs b/src/EFCore.Relational/Query/Internal/GetValueOrDefaultTranslator.cs index 48f311e2cb5..9e86d4f05a1 100644 --- a/src/EFCore.Relational/Query/Internal/GetValueOrDefaultTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/GetValueOrDefaultTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class GetValueOrDefaultTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/GroupBySingleQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/GroupBySingleQueryingEnumerable.cs index b53b4dc5d7c..543f1896141 100644 --- a/src/EFCore.Relational/Query/Internal/GroupBySingleQueryingEnumerable.cs +++ b/src/EFCore.Relational/Query/Internal/GroupBySingleQueryingEnumerable.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class GroupBySingleQueryingEnumerable : IEnumerable>, IAsyncEnumerable>, IRelationalQueryingEnumerable { diff --git a/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs index c8e21e4f499..f5c79468804 100644 --- a/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs +++ b/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class GroupBySplitQueryingEnumerable : IEnumerable>, IAsyncEnumerable>, IRelationalQueryingEnumerable { diff --git a/src/EFCore.Relational/Query/Internal/IRelationalQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/IRelationalQueryingEnumerable.cs index 37914511524..451de690e01 100644 --- a/src/EFCore.Relational/Query/Internal/IRelationalQueryingEnumerable.cs +++ b/src/EFCore.Relational/Query/Internal/IRelationalQueryingEnumerable.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRelationalQueryingEnumerable : IQueryingEnumerable { /// diff --git a/src/EFCore.Relational/Query/Internal/JsonProjectionInfo.cs b/src/EFCore.Relational/Query/Internal/JsonProjectionInfo.cs index d86d5cec724..85c55ac1642 100644 --- a/src/EFCore.Relational/Query/Internal/JsonProjectionInfo.cs +++ b/src/EFCore.Relational/Query/Internal/JsonProjectionInfo.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public readonly struct JsonProjectionInfo { /// diff --git a/src/EFCore.Relational/Query/Internal/LikeTranslator.cs b/src/EFCore.Relational/Query/Internal/LikeTranslator.cs index 1efbf9f382a..f62562f6e46 100644 --- a/src/EFCore.Relational/Query/Internal/LikeTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/LikeTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class LikeTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo diff --git a/src/EFCore.Relational/Query/Internal/NullableMemberTranslator.cs b/src/EFCore.Relational/Query/Internal/NullableMemberTranslator.cs index 568505d9d9a..7da65b1cd80 100644 --- a/src/EFCore.Relational/Query/Internal/NullableMemberTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/NullableMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class NullableMemberTranslator : IMemberTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/QueryExpressionReplacingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/QueryExpressionReplacingExpressionVisitor.cs index 25d10d479af..4d129606f08 100644 --- a/src/EFCore.Relational/Query/Internal/QueryExpressionReplacingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/QueryExpressionReplacingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class QueryExpressionReplacingExpressionVisitor : ExpressionVisitor { private readonly Expression _oldQuery; diff --git a/src/EFCore.Relational/Query/Internal/QuerySqlGeneratorFactory.cs b/src/EFCore.Relational/Query/Internal/QuerySqlGeneratorFactory.cs index 09774b492dd..1587c812e7c 100644 --- a/src/EFCore.Relational/Query/Internal/QuerySqlGeneratorFactory.cs +++ b/src/EFCore.Relational/Query/Internal/QuerySqlGeneratorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class QuerySqlGeneratorFactory : IQuerySqlGeneratorFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/QueryableAggregateMethodTranslator.cs b/src/EFCore.Relational/Query/Internal/QueryableAggregateMethodTranslator.cs index cb3a659d2c9..662606f5a70 100644 --- a/src/EFCore.Relational/Query/Internal/QueryableAggregateMethodTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/QueryableAggregateMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class QueryableAggregateMethodTranslator : IAggregateMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/QueryableJsonProjectionInfo.cs b/src/EFCore.Relational/Query/Internal/QueryableJsonProjectionInfo.cs index 12b168b43c3..5dd755ed3d4 100644 --- a/src/EFCore.Relational/Query/Internal/QueryableJsonProjectionInfo.cs +++ b/src/EFCore.Relational/Query/Internal/QueryableJsonProjectionInfo.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public readonly struct QueryableJsonProjectionInfo { /// diff --git a/src/EFCore.Relational/Query/Internal/RandomTranslator.cs b/src/EFCore.Relational/Query/Internal/RandomTranslator.cs index f22e93928b1..dff2177a088 100644 --- a/src/EFCore.Relational/Query/Internal/RandomTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/RandomTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RandomTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo = diff --git a/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs b/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs index d0c18bb5afd..18a480897a1 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalCommandCache : IPrintableExpression { private static readonly ConcurrentDictionary Locks diff --git a/src/EFCore.Relational/Query/Internal/RelationalParameterBasedSqlProcessorFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalParameterBasedSqlProcessorFactory.cs index 87efd188a1f..aab6bcbd82c 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalParameterBasedSqlProcessorFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalParameterBasedSqlProcessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalParameterBasedSqlProcessorFactory : IRelationalParameterBasedSqlProcessorFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalProjectionBindingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/RelationalProjectionBindingExpressionVisitor.cs index 2d9ef438560..f4ad05b01b5 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalProjectionBindingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalProjectionBindingExpressionVisitor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalProjectionBindingExpressionVisitor : ExpressionVisitor { private static readonly MethodInfo GetParameterValueMethodInfo diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryCompilationContextFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryCompilationContextFactory.cs index 90f2fdd6636..ed3a4f555d4 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryCompilationContextFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryCompilationContextFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryCompilationContextFactory : IQueryCompilationContextFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryContextFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryContextFactory.cs index 0a0e7d3fd28..37437d7a4a7 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryContextFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryContextFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryContextFactory : IQueryContextFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryMetadataExtractingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryMetadataExtractingExpressionVisitor.cs index 072dfe7ab88..b711c950e45 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryMetadataExtractingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryMetadataExtractingExpressionVisitor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryMetadataExtractingExpressionVisitor : ExpressionVisitor { private readonly RelationalQueryCompilationContext _relationalQueryCompilationContext; diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryStringFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryStringFactory.cs index 759e0d60264..ff721bf54d5 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryStringFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryStringFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryStringFactory : IRelationalQueryStringFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPostprocessorFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPostprocessorFactory.cs index 62a29b841eb..ed76386d329 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPostprocessorFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPostprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryTranslationPostprocessorFactory : IQueryTranslationPostprocessorFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPreprocessorFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPreprocessorFactory.cs index d8deb533e36..45423cd5cb1 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPreprocessorFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryTranslationPreprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryTranslationPreprocessorFactory : IQueryTranslationPreprocessorFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalQueryableMethodTranslatingExpressionVisitorFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalQueryableMethodTranslatingExpressionVisitorFactory.cs index f32df7f3f6e..fd1d57ad531 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalQueryableMethodTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalQueryableMethodTranslatingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalQueryableMethodTranslatingExpressionVisitorFactory : IQueryableMethodTranslatingExpressionVisitorFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalShapedQueryCompilingExpressionVisitorFactory.cs b/src/EFCore.Relational/Query/Internal/RelationalShapedQueryCompilingExpressionVisitorFactory.cs index 3f830b01d07..7a919166169 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalShapedQueryCompilingExpressionVisitorFactory.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalShapedQueryCompilingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalShapedQueryCompilingExpressionVisitorFactory : IShapedQueryCompilingExpressionVisitorFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/RelationalValueConverterCompensatingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/RelationalValueConverterCompensatingExpressionVisitor.cs index d4d0ff8ee33..4199490bd79 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalValueConverterCompensatingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalValueConverterCompensatingExpressionVisitor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RelationalValueConverterCompensatingExpressionVisitor : ExpressionVisitor { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/ResultContext.cs b/src/EFCore.Relational/Query/Internal/ResultContext.cs index 20cc1b5c2f4..0b3e3122329 100644 --- a/src/EFCore.Relational/Query/Internal/ResultContext.cs +++ b/src/EFCore.Relational/Query/Internal/ResultContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ResultContext { /// diff --git a/src/EFCore.Relational/Query/Internal/SelectExpressionProjectionApplyingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/SelectExpressionProjectionApplyingExpressionVisitor.cs index 540cd18cd05..a182317b847 100644 --- a/src/EFCore.Relational/Query/Internal/SelectExpressionProjectionApplyingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/SelectExpressionProjectionApplyingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SelectExpressionProjectionApplyingExpressionVisitor : ExpressionVisitor { private readonly QuerySplittingBehavior _querySplittingBehavior; diff --git a/src/EFCore.Relational/Query/Internal/SingleQueryCollectionContext.cs b/src/EFCore.Relational/Query/Internal/SingleQueryCollectionContext.cs index 569707ead54..de903b0b00b 100644 --- a/src/EFCore.Relational/Query/Internal/SingleQueryCollectionContext.cs +++ b/src/EFCore.Relational/Query/Internal/SingleQueryCollectionContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class SingleQueryCollectionContext { /// diff --git a/src/EFCore.Relational/Query/Internal/SingleQueryResultCoordinator.cs b/src/EFCore.Relational/Query/Internal/SingleQueryResultCoordinator.cs index efc37c2cf1f..970284e28e1 100644 --- a/src/EFCore.Relational/Query/Internal/SingleQueryResultCoordinator.cs +++ b/src/EFCore.Relational/Query/Internal/SingleQueryResultCoordinator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class SingleQueryResultCoordinator { /// diff --git a/src/EFCore.Relational/Query/Internal/SingleQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/SingleQueryingEnumerable.cs index 53a3c372294..380f50b4858 100644 --- a/src/EFCore.Relational/Query/Internal/SingleQueryingEnumerable.cs +++ b/src/EFCore.Relational/Query/Internal/SingleQueryingEnumerable.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SingleQueryingEnumerable : IEnumerable, IAsyncEnumerable, IRelationalQueryingEnumerable { private readonly RelationalQueryContext _relationalQueryContext; diff --git a/src/EFCore.Relational/Query/Internal/SplitQueryCollectionContext.cs b/src/EFCore.Relational/Query/Internal/SplitQueryCollectionContext.cs index c8e866612e8..62da0f0e8e2 100644 --- a/src/EFCore.Relational/Query/Internal/SplitQueryCollectionContext.cs +++ b/src/EFCore.Relational/Query/Internal/SplitQueryCollectionContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class SplitQueryCollectionContext { /// diff --git a/src/EFCore.Relational/Query/Internal/SplitQueryDataReaderContext.cs b/src/EFCore.Relational/Query/Internal/SplitQueryDataReaderContext.cs index a94387edbe2..bb6e4686c46 100644 --- a/src/EFCore.Relational/Query/Internal/SplitQueryDataReaderContext.cs +++ b/src/EFCore.Relational/Query/Internal/SplitQueryDataReaderContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class SplitQueryDataReaderContext { /// diff --git a/src/EFCore.Relational/Query/Internal/SplitQueryResultCoordinator.cs b/src/EFCore.Relational/Query/Internal/SplitQueryResultCoordinator.cs index 78c60bd3183..b546dfd14eb 100644 --- a/src/EFCore.Relational/Query/Internal/SplitQueryResultCoordinator.cs +++ b/src/EFCore.Relational/Query/Internal/SplitQueryResultCoordinator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class SplitQueryResultCoordinator { /// diff --git a/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs index c87544d1120..856dbcdd268 100644 --- a/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs +++ b/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SplitQueryingEnumerable : IEnumerable, IAsyncEnumerable, IRelationalQueryingEnumerable { private readonly RelationalQueryContext _relationalQueryContext; diff --git a/src/EFCore.Relational/Query/Internal/SqlAliasManagerFactory.cs b/src/EFCore.Relational/Query/Internal/SqlAliasManagerFactory.cs index f0faa7c8f1c..48fe880363b 100644 --- a/src/EFCore.Relational/Query/Internal/SqlAliasManagerFactory.cs +++ b/src/EFCore.Relational/Query/Internal/SqlAliasManagerFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SqlAliasManagerFactory : ISqlAliasManagerFactory { /// diff --git a/src/EFCore.Relational/Query/Internal/SqlExpressionSimplifyingExpressionVisitor.cs b/src/EFCore.Relational/Query/Internal/SqlExpressionSimplifyingExpressionVisitor.cs index a252cdf6ff9..18aca9bfa97 100644 --- a/src/EFCore.Relational/Query/Internal/SqlExpressionSimplifyingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/Internal/SqlExpressionSimplifyingExpressionVisitor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SqlExpressionSimplifyingExpressionVisitor : ExpressionVisitor { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Relational/Query/Internal/SqlQueryRootExpression.cs b/src/EFCore.Relational/Query/Internal/SqlQueryRootExpression.cs index 3a9bed45954..6320fd32606 100644 --- a/src/EFCore.Relational/Query/Internal/SqlQueryRootExpression.cs +++ b/src/EFCore.Relational/Query/Internal/SqlQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class SqlQueryRootExpression : QueryRootExpression { /// diff --git a/src/EFCore.Relational/Query/Internal/StringMethodTranslator.cs b/src/EFCore.Relational/Query/Internal/StringMethodTranslator.cs index e5d5d6c8d96..5fc45742646 100644 --- a/src/EFCore.Relational/Query/Internal/StringMethodTranslator.cs +++ b/src/EFCore.Relational/Query/Internal/StringMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class StringMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo IsNullOrEmptyMethodInfo diff --git a/src/EFCore.Relational/Query/Internal/TableValuedFunctionQueryRootExpression.cs b/src/EFCore.Relational/Query/Internal/TableValuedFunctionQueryRootExpression.cs index 7436e568efc..06c3c94ce22 100644 --- a/src/EFCore.Relational/Query/Internal/TableValuedFunctionQueryRootExpression.cs +++ b/src/EFCore.Relational/Query/Internal/TableValuedFunctionQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class TableValuedFunctionQueryRootExpression : EntityQueryRootExpression { /// diff --git a/src/EFCore.Relational/Query/Internal/TpcTablesExpression.cs b/src/EFCore.Relational/Query/Internal/TpcTablesExpression.cs index 834a14e080a..0c277ace429 100644 --- a/src/EFCore.Relational/Query/Internal/TpcTablesExpression.cs +++ b/src/EFCore.Relational/Query/Internal/TpcTablesExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class TpcTablesExpression : TableExpressionBase { /// diff --git a/src/EFCore.Relational/Query/JsonQueryExpression.cs b/src/EFCore.Relational/Query/JsonQueryExpression.cs index 92b2440bef6..e82c739aa43 100644 --- a/src/EFCore.Relational/Query/JsonQueryExpression.cs +++ b/src/EFCore.Relational/Query/JsonQueryExpression.cs @@ -92,7 +92,7 @@ private JsonQueryExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual IReadOnlyDictionary KeyPropertyMap { get; } /// diff --git a/src/EFCore.Relational/Query/QuerySqlGeneratorDependencies.cs b/src/EFCore.Relational/Query/QuerySqlGeneratorDependencies.cs index a7029ff34b7..8a9359e3616 100644 --- a/src/EFCore.Relational/Query/QuerySqlGeneratorDependencies.cs +++ b/src/EFCore.Relational/Query/QuerySqlGeneratorDependencies.cs @@ -43,7 +43,7 @@ public sealed record QuerySqlGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public QuerySqlGeneratorDependencies( IRelationalCommandBuilderFactory relationalCommandBuilderFactory, ISqlGenerationHelper sqlGenerationHelper) diff --git a/src/EFCore.Relational/Query/RelationalAggregateMethodCallTranslatorProviderDependencies.cs b/src/EFCore.Relational/Query/RelationalAggregateMethodCallTranslatorProviderDependencies.cs index 4474a11dd3e..0d3129471ab 100644 --- a/src/EFCore.Relational/Query/RelationalAggregateMethodCallTranslatorProviderDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalAggregateMethodCallTranslatorProviderDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalAggregateMethodCallTranslatorProviderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalAggregateMethodCallTranslatorProviderDependencies( ISqlExpressionFactory sqlExpressionFactory, IEnumerable plugins, diff --git a/src/EFCore.Relational/Query/RelationalCompiledQueryCacheKeyGeneratorDependencies.cs b/src/EFCore.Relational/Query/RelationalCompiledQueryCacheKeyGeneratorDependencies.cs index cdae2325689..6b4de643034 100644 --- a/src/EFCore.Relational/Query/RelationalCompiledQueryCacheKeyGeneratorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalCompiledQueryCacheKeyGeneratorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalCompiledQueryCacheKeyGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalCompiledQueryCacheKeyGeneratorDependencies(IDbContextOptions contextOptions) { ContextOptions = contextOptions; diff --git a/src/EFCore.Relational/Query/RelationalEvaluatableExpressionFilterDependencies.cs b/src/EFCore.Relational/Query/RelationalEvaluatableExpressionFilterDependencies.cs index 12a204c0c68..cde5e6b80ba 100644 --- a/src/EFCore.Relational/Query/RelationalEvaluatableExpressionFilterDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalEvaluatableExpressionFilterDependencies.cs @@ -43,7 +43,7 @@ public sealed record RelationalEvaluatableExpressionFilterDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalEvaluatableExpressionFilterDependencies() { } diff --git a/src/EFCore.Relational/Query/RelationalMemberTranslatorProviderDependencies.cs b/src/EFCore.Relational/Query/RelationalMemberTranslatorProviderDependencies.cs index 6d4c628edc6..cca8a5542df 100644 --- a/src/EFCore.Relational/Query/RelationalMemberTranslatorProviderDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalMemberTranslatorProviderDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalMemberTranslatorProviderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalMemberTranslatorProviderDependencies( ISqlExpressionFactory sqlExpressionFactory, IEnumerable plugins) diff --git a/src/EFCore.Relational/Query/RelationalMethodCallTranslatorProviderDependencies.cs b/src/EFCore.Relational/Query/RelationalMethodCallTranslatorProviderDependencies.cs index 6a359e43a9f..7930be69de8 100644 --- a/src/EFCore.Relational/Query/RelationalMethodCallTranslatorProviderDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalMethodCallTranslatorProviderDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalMethodCallTranslatorProviderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalMethodCallTranslatorProviderDependencies( ISqlExpressionFactory sqlExpressionFactory, IEnumerable plugins, diff --git a/src/EFCore.Relational/Query/RelationalParameterBasedSqlProcessorDependencies.cs b/src/EFCore.Relational/Query/RelationalParameterBasedSqlProcessorDependencies.cs index 0e2bb22144c..7112de51060 100644 --- a/src/EFCore.Relational/Query/RelationalParameterBasedSqlProcessorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalParameterBasedSqlProcessorDependencies.cs @@ -46,7 +46,7 @@ public sealed record RelationalParameterBasedSqlProcessorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalParameterBasedSqlProcessorDependencies( ISqlExpressionFactory sqlExpressionFactory, IRelationalTypeMappingSource typeMappingSource, diff --git a/src/EFCore.Relational/Query/RelationalQueryCompilationContextDependencies.cs b/src/EFCore.Relational/Query/RelationalQueryCompilationContextDependencies.cs index f86d54870fb..7a4b3706d3f 100644 --- a/src/EFCore.Relational/Query/RelationalQueryCompilationContextDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalQueryCompilationContextDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalQueryCompilationContextDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalQueryCompilationContextDependencies(ISqlAliasManagerFactory sqlAliasManagerFactory) => SqlAliasManagerFactory = sqlAliasManagerFactory; diff --git a/src/EFCore.Relational/Query/RelationalQueryContextDependencies.cs b/src/EFCore.Relational/Query/RelationalQueryContextDependencies.cs index e70745f86a5..905f4b8bceb 100644 --- a/src/EFCore.Relational/Query/RelationalQueryContextDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalQueryContextDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalQueryContextDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalQueryContextDependencies( IRelationalConnection relationalConnection, IRelationalQueryStringFactory relationalQueryStringFactory) diff --git a/src/EFCore.Relational/Query/RelationalQueryTranslationPostprocessorDependencies.cs b/src/EFCore.Relational/Query/RelationalQueryTranslationPostprocessorDependencies.cs index 46dafc54d01..010fd3b8f2d 100644 --- a/src/EFCore.Relational/Query/RelationalQueryTranslationPostprocessorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalQueryTranslationPostprocessorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalQueryTranslationPostprocessorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalQueryTranslationPostprocessorDependencies( ISqlExpressionFactory sqlExpressionFactory, IRelationalTypeMappingSource typeMappingSource) diff --git a/src/EFCore.Relational/Query/RelationalQueryTranslationPreprocessorDependencies.cs b/src/EFCore.Relational/Query/RelationalQueryTranslationPreprocessorDependencies.cs index 6bd82bdce6a..b2ab14cb484 100644 --- a/src/EFCore.Relational/Query/RelationalQueryTranslationPreprocessorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalQueryTranslationPreprocessorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalQueryTranslationPreprocessorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalQueryTranslationPreprocessorDependencies(IRelationalTypeMappingSource relationalTypeMappingSource) { RelationalTypeMappingSource = relationalTypeMappingSource; diff --git a/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.CreateSelect.cs b/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.CreateSelect.cs index 1bc5f19386e..2bc048c704a 100644 --- a/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.CreateSelect.cs +++ b/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.CreateSelect.cs @@ -567,7 +567,7 @@ private void AddJsonNavigationBindings( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual SelectExpression CreateSelect( JsonQueryExpression jsonQueryExpression, TableExpressionBase tableExpressionBase, diff --git a/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.cs b/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.cs index 7d0076c0598..b671a68d3f1 100644 --- a/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitor.cs @@ -27,7 +27,7 @@ public partial class RelationalQueryableMethodTranslatingExpressionVisitor : Que /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public const string ValuesOrderingColumnName = "_ord"; /// @@ -36,7 +36,7 @@ public partial class RelationalQueryableMethodTranslatingExpressionVisitor : Que /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public const string ValuesValueColumnName = "Value"; /// diff --git a/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitorDependencies.cs b/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitorDependencies.cs index 8fe8614b0b8..92aa0c7ea82 100644 --- a/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalQueryableMethodTranslatingExpressionVisitorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalQueryableMethodTranslatingExpressionVisitorDepend /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalQueryableMethodTranslatingExpressionVisitorDependencies( IRelationalSqlTranslatingExpressionVisitorFactory relationalSqlTranslatingExpressionVisitorFactory, ISqlExpressionFactory sqlExpressionFactory, diff --git a/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitor.ShaperProcessingExpressionVisitor.cs b/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitor.ShaperProcessingExpressionVisitor.cs index b6f5aa95364..58ce108a24d 100644 --- a/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitor.ShaperProcessingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitor.ShaperProcessingExpressionVisitor.cs @@ -813,9 +813,9 @@ when GetProjectionIndex(collectionResultExpression.ProjectionBindingExpression) ? null : navigation.GetCollectionAccessor(), typeof(IClrCollectionAccessor)), Constant(_isTracking), -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. Constant(includeExpression.SetLoaded))); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var relatedEntityType = innerShaper.ReturnType; var inverseNavigation = navigation.Inverse; @@ -899,9 +899,9 @@ when GetProjectionIndex(collectionResultExpression.ProjectionBindingExpression) Constant(navigation), Constant(navigation.GetCollectionAccessor()), Constant(_isTracking), -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. Constant(includeExpression.SetLoaded))); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var relatedEntityType = innerShaper.ReturnType; var inverseNavigation = navigation.Inverse; @@ -1690,9 +1690,9 @@ protected override Expression VisitSwitch(SwitchExpression switchExpression) Operand: NewExpression } } shadowSnapshotAssignment -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. && shadowSnapshotAssignment.Type == typeof(ISnapshot)) -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. { finalBlockExpressions.Add(propertyAssignmentReplacer.Visit(shadowSnapshotAssignment)); } @@ -1827,7 +1827,7 @@ void ProcessFixup(IDictionary fixupMap) var switchCases = new List(); var testsCount = testExpressions.Count; - // generate PropertyName switch-case code + // generate PropertyName switch-case code if (testsCount > 0) { var testExpression = IfThen( @@ -1893,7 +1893,9 @@ protected override Expression VisitConditional(ConditionalExpression conditional IfTrue: BlockExpression ifTrueBlock, IfFalse: BlockExpression ifFalseBlock } +#pragma warning disable EF9901 && rightDefault.Type == typeof(InternalEntityEntry)) +#pragma warning restore EF9901 { var entityAlreadyTrackedVariable = Variable(typeof(bool), "entityAlreadyTracked"); @@ -1937,12 +1939,14 @@ protected override Expression VisitConditional(ConditionalExpression conditional // jsonManagerPrm.CaptureState(); for (var i = 0; i < 5; i++) { +#pragma warning disable EF9901 newInstanceAssignmentExpressions.Add( instanceAssignmentBody.Expressions[i].Type == typeof(ISnapshot) ? IfThen( Not(entityAlreadyTrackedVariable), instanceAssignmentBody.Expressions[i]) : instanceAssignmentBody.Expressions[i]); +#pragma warning restore EF9901 } // from now on we have entity construction and property assignments @@ -1981,11 +1985,13 @@ protected override Expression VisitConditional(ConditionalExpression conditional resultBlockExpressions.Add( Assign(instanceAssignment.Left, newInstanceAssignmentBlock)); +#pragma warning disable EF9901 var startTrackingAssignment = ifFalseBlock.Expressions .OfType() .Single( e => e is { NodeType: ExpressionType.Assign, Left: ParameterExpression instance, Right: ConditionalExpression } && instance.Type == typeof(InternalEntityEntry)); +#pragma warning restore EF9901 var startTrackingExpression = IfThen( @@ -2066,10 +2072,10 @@ protected override Expression VisitBinary(BinaryExpression node) if (property!.IsPrimitiveCollection && !property.ClrType.IsArray) { -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. var genericMethod = EntityMaterializerSource.PopulateListMethod.MakeGenericMethod( property.ClrType.TryGetElementType(typeof(IEnumerable<>))!); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. var currentVariable = Variable(parameter!.Type); var convertedVariable = genericMethod.GetParameters()[1].ParameterType.IsAssignableFrom(currentVariable.Type) ? (Expression)currentVariable diff --git a/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitorDependencies.cs b/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitorDependencies.cs index c32ba6d83b5..2fd91583ef7 100644 --- a/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalShapedQueryCompilingExpressionVisitorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalShapedQueryCompilingExpressionVisitorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalShapedQueryCompilingExpressionVisitorDependencies( IQuerySqlGeneratorFactory querySqlGeneratorFactory, IRelationalParameterBasedSqlProcessorFactory relationalParameterBasedSqlProcessorFactory) diff --git a/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.cs b/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.cs index 85db91718ea..dbe709e1994 100644 --- a/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.cs +++ b/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.cs @@ -132,7 +132,7 @@ protected virtual void AddTranslationErrorDetails(string details) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual Expression? TranslateProjection(Expression expression, bool applyDefaultTypeMapping = true) { TranslationErrorDetails = null; @@ -1234,7 +1234,7 @@ private bool TryBindMember( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual bool TryBindMember( Expression? source, MemberIdentity member, @@ -1406,7 +1406,7 @@ private StructuralTypeReferenceExpression BindComplexProperty( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual bool TryTranslateAggregateMethodCall( MethodCallExpression methodCallExpression, [NotNullWhen(true)] out SqlExpression? translation) diff --git a/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitorDependencies.cs b/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitorDependencies.cs index 144881f451c..a34b4480c6e 100644 --- a/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitorDependencies.cs +++ b/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalSqlTranslatingExpressionVisitorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalSqlTranslatingExpressionVisitorDependencies( ISqlExpressionFactory sqlExpressionFactory, IModel model, diff --git a/src/EFCore.Relational/Query/SqlAliasManager.cs b/src/EFCore.Relational/Query/SqlAliasManager.cs index ba4b4def770..a6dffc3ac9f 100644 --- a/src/EFCore.Relational/Query/SqlAliasManager.cs +++ b/src/EFCore.Relational/Query/SqlAliasManager.cs @@ -56,7 +56,7 @@ public virtual string GenerateTableAlias(ITableBase modelTable) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual Expression PostprocessAliases(Expression expression) { // To post-process (finalize) table aliases in the tree, we visit it to see which aliases are actually in use. diff --git a/src/EFCore.Relational/Query/SqlExpressionFactoryDependencies.cs b/src/EFCore.Relational/Query/SqlExpressionFactoryDependencies.cs index 1583df79658..198410b972a 100644 --- a/src/EFCore.Relational/Query/SqlExpressionFactoryDependencies.cs +++ b/src/EFCore.Relational/Query/SqlExpressionFactoryDependencies.cs @@ -44,7 +44,7 @@ public sealed record SqlExpressionFactoryDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SqlExpressionFactoryDependencies(IModel model, IRelationalTypeMappingSource typeMappingSource) { Model = model; diff --git a/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs index c71e7b97736..9dbfe97297e 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/FromSqlExpression.cs @@ -58,7 +58,7 @@ public FromSqlExpression(string alias, string sql, Expression arguments) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public FromSqlExpression( string alias, ITableBase? tableBase, diff --git a/src/EFCore.Relational/Query/SqlExpressions/ProjectionExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/ProjectionExpression.cs index 28c1c6bc33e..b3844175ddf 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/ProjectionExpression.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/ProjectionExpression.cs @@ -23,7 +23,7 @@ public sealed class ProjectionExpression : Expression, IRelationalQuotableExpres /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ProjectionExpression(SqlExpression expression, string alias) { Expression = expression; diff --git a/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs index 11733db8518..42c390e35ef 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs @@ -59,7 +59,7 @@ public sealed partial class SelectExpression : TableExpressionBase /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SelectExpression( string? alias, List tables, @@ -83,7 +83,7 @@ public SelectExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SelectExpression( List tables, Expression projection, @@ -103,7 +103,7 @@ public SelectExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SelectExpression(SqlExpression projection, SqlAliasManager sqlAliasManager) : this(tables: [], projection, identifier: [], sqlAliasManager) { @@ -117,7 +117,7 @@ public SelectExpression(SqlExpression projection, SqlAliasManager sqlAliasManage /// // Immutable selects no longer need to create tables, so no need for an alias manager (note that in the long term, SelectExpression // should have an alias manager at all, so this is temporary). - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static SelectExpression CreateImmutable(string alias, List tables, List projection) => new(alias, tables, groupBy: [], projections: projection, orderings: [], annotations: null, sqlAliasManager: null!) { IsMutable = false }; @@ -2296,7 +2296,7 @@ public void ApplyDefaultIfEmpty(ISqlExpressionFactory sqlExpressionFactory) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StructuralTypeShaperExpression GenerateOwnedReferenceEntityProjectionExpression( StructuralTypeProjectionExpression principalEntityProjection, INavigation navigation, @@ -2571,7 +2571,7 @@ static TableExpressionBase FindRootTableExpressionForColumn(SelectExpression sel /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public static StructuralTypeShaperExpression GenerateComplexPropertyShaperExpression( StructuralTypeProjectionExpression containerProjection, IComplexProperty complexProperty) @@ -3712,7 +3712,7 @@ public ColumnExpression CreateColumnExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SelectExpression Clone() { _cloningExpressionVisitor ??= new CloningExpressionVisitor(_sqlAliasManager); @@ -3786,7 +3786,7 @@ private TableExpressionBase Clone(string? alias, ExpressionVisitor cloningExpres /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // TODO: Look into TPC handling and possibly clean this up, #32873 - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public SelectExpression RemoveTpcTableExpression() => (SelectExpression)new TpcTableExpressionRemovingExpressionVisitor().Visit(this); @@ -4393,7 +4393,7 @@ private string PrintShortSql() /// They are designed for debugging only and may change arbitrarily between releases. /// /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public string DebugView => this.Print(); diff --git a/src/EFCore.Relational/Query/SqlExpressions/TableExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/TableExpression.cs index 828af3f201d..acf136773bb 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/TableExpression.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/TableExpression.cs @@ -31,7 +31,7 @@ public TableExpression(string alias, ITableBase table) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public TableExpression(string alias, ITableBase table, IReadOnlyDictionary? annotations) : base(alias, annotations) { diff --git a/src/EFCore.Relational/Query/SqlExpressions/TableExpressionBase.cs b/src/EFCore.Relational/Query/SqlExpressions/TableExpressionBase.cs index f2ba6f94510..e827ff6e044 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/TableExpressionBase.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/TableExpressionBase.cs @@ -188,7 +188,7 @@ public virtual IEnumerable GetAnnotations() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual string GetRequiredAlias() => Alias ?? throw new InvalidOperationException(RelationalStrings.NoAliasOnTable(ExpressionPrinter.Print(this))); } diff --git a/src/EFCore.Relational/Query/SqlExpressions/ValuesExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/ValuesExpression.cs index f8a03726bff..ffe9848ea05 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/ValuesExpression.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/ValuesExpression.cs @@ -54,7 +54,7 @@ public ValuesExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ValuesExpression( string? alias, IReadOnlyList rowValues, diff --git a/src/EFCore.Relational/Query/SqlNullabilityProcessor.cs b/src/EFCore.Relational/Query/SqlNullabilityProcessor.cs index 2f8e60bb01f..39ac31b9473 100644 --- a/src/EFCore.Relational/Query/SqlNullabilityProcessor.cs +++ b/src/EFCore.Relational/Query/SqlNullabilityProcessor.cs @@ -1992,7 +1992,7 @@ static bool TryNegate(ExpressionType expressionType, out ExpressionType result) /// which does not have a nullable projection. This is used to extract NULLs out of e.g. the parameter argument of SQL Server /// OPENJSON, in order to allow a more efficient translation. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual bool TryMakeNonNullable( SelectExpression selectExpression, [NotNullWhen(true)] out SelectExpression? rewrittenSelectExpression, @@ -2097,7 +2097,7 @@ protected virtual bool TryMakeNonNullable( /// /// A provider hook for identifying a which represents a collection, e.g. OPENJSON on SQL Server. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual bool IsCollectionTable(TableExpressionBase table, [NotNullWhen(true)] out Expression? collection) { collection = null; @@ -2108,7 +2108,7 @@ protected virtual bool IsCollectionTable(TableExpressionBase table, [NotNullWhen /// Given a which was previously identified to be a parameterized collection table (e.g. /// OPENJSON on SQL Server, see ), replaces the parameter for that table. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual TableExpressionBase UpdateParameterCollection( TableExpressionBase table, SqlParameterExpression newCollectionParameter) diff --git a/src/EFCore.Relational/Query/SqlTreePruner.cs b/src/EFCore.Relational/Query/SqlTreePruner.cs index 21bb82bf9e5..ca423ae85fa 100644 --- a/src/EFCore.Relational/Query/SqlTreePruner.cs +++ b/src/EFCore.Relational/Query/SqlTreePruner.cs @@ -137,7 +137,7 @@ void RegisterTable(string tableAlias, ColumnExpression column) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual SelectExpression PruneToplevelSelect(SelectExpression select) { // TODO: This doesn't belong in pruning, take a deeper look at how we manage TPC, #32873 diff --git a/src/EFCore.Relational/Query/StructuralTypeProjectionExpression.cs b/src/EFCore.Relational/Query/StructuralTypeProjectionExpression.cs index 764b5b3a3be..3fcd0eca2a3 100644 --- a/src/EFCore.Relational/Query/StructuralTypeProjectionExpression.cs +++ b/src/EFCore.Relational/Query/StructuralTypeProjectionExpression.cs @@ -26,7 +26,7 @@ public class StructuralTypeProjectionExpression : Expression /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StructuralTypeProjectionExpression( ITypeBase type, IReadOnlyDictionary propertyExpressionMap, @@ -50,7 +50,7 @@ public StructuralTypeProjectionExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public StructuralTypeProjectionExpression( ITypeBase type, IReadOnlyDictionary propertyExpressionMap, @@ -98,7 +98,7 @@ private StructuralTypeProjectionExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual IReadOnlyDictionary TableMap { get; } /// @@ -107,7 +107,7 @@ private StructuralTypeProjectionExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual bool IsNullable { get; } /// @@ -337,7 +337,7 @@ public virtual StructuralTypeProjectionExpression UpdateEntityType(IEntityType d /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual StructuralTypeProjectionExpression UpdateTableMap(IReadOnlyDictionary newTableMap) => new StructuralTypeProjectionExpression( StructuralType, _propertyExpressionMap, _ownedNavigationMap, _complexPropertyCache, newTableMap, IsNullable, DiscriminatorExpression); diff --git a/src/EFCore.Relational/Scaffolding/ProviderCodeGeneratorDependencies.cs b/src/EFCore.Relational/Scaffolding/ProviderCodeGeneratorDependencies.cs index beb6d9049f1..76182708d1b 100644 --- a/src/EFCore.Relational/Scaffolding/ProviderCodeGeneratorDependencies.cs +++ b/src/EFCore.Relational/Scaffolding/ProviderCodeGeneratorDependencies.cs @@ -36,7 +36,7 @@ public sealed record ProviderCodeGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ProviderCodeGeneratorDependencies(IEnumerable plugins) { Plugins = plugins; diff --git a/src/EFCore.Relational/Storage/Internal/CompositeRelationalParameter.cs b/src/EFCore.Relational/Storage/Internal/CompositeRelationalParameter.cs index 9e743c73c05..4f1ce5ccc73 100644 --- a/src/EFCore.Relational/Storage/Internal/CompositeRelationalParameter.cs +++ b/src/EFCore.Relational/Storage/Internal/CompositeRelationalParameter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CompositeRelationalParameter : RelationalParameterBase { /// diff --git a/src/EFCore.Relational/Storage/Internal/DbParameterCollectionExtensions.cs b/src/EFCore.Relational/Storage/Internal/DbParameterCollectionExtensions.cs index de91242f233..23d3014f6e2 100644 --- a/src/EFCore.Relational/Storage/Internal/DbParameterCollectionExtensions.cs +++ b/src/EFCore.Relational/Storage/Internal/DbParameterCollectionExtensions.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class DbParameterCollectionExtensions { /// diff --git a/src/EFCore.Relational/Storage/Internal/INamedConnectionStringResolver.cs b/src/EFCore.Relational/Storage/Internal/INamedConnectionStringResolver.cs index 8ca322198a3..b0a0a24646a 100644 --- a/src/EFCore.Relational/Storage/Internal/INamedConnectionStringResolver.cs +++ b/src/EFCore.Relational/Storage/Internal/INamedConnectionStringResolver.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface INamedConnectionStringResolver { /// diff --git a/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolver.cs b/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolver.cs index ab6cd8153e1..e22df766099 100644 --- a/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolver.cs +++ b/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolver.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class NamedConnectionStringResolver : NamedConnectionStringResolverBase, INamedConnectionStringResolver { private readonly IDbContextOptions _options; diff --git a/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolverBase.cs b/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolverBase.cs index 14d12a38457..cdcb3fcd1bd 100644 --- a/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolverBase.cs +++ b/src/EFCore.Relational/Storage/Internal/NamedConnectionStringResolverBase.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public abstract class NamedConnectionStringResolverBase { private const string DefaultSection = "ConnectionStrings:"; diff --git a/src/EFCore.Relational/Storage/Internal/NullTypeMapping.cs b/src/EFCore.Relational/Storage/Internal/NullTypeMapping.cs index 19e4aa9aeb3..afae09cdefb 100644 --- a/src/EFCore.Relational/Storage/Internal/NullTypeMapping.cs +++ b/src/EFCore.Relational/Storage/Internal/NullTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class NullTypeMapping : RelationalTypeMapping { /// diff --git a/src/EFCore.Relational/Storage/Internal/RawRelationalParameter.cs b/src/EFCore.Relational/Storage/Internal/RawRelationalParameter.cs index a63a0270d1e..942dd447eef 100644 --- a/src/EFCore.Relational/Storage/Internal/RawRelationalParameter.cs +++ b/src/EFCore.Relational/Storage/Internal/RawRelationalParameter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RawRelationalParameter : RelationalParameterBase { private readonly DbParameter _parameter; diff --git a/src/EFCore.Relational/Storage/Internal/RawSqlCommandBuilder.cs b/src/EFCore.Relational/Storage/Internal/RawSqlCommandBuilder.cs index 5ae3287bb50..aa7e2fd40af 100644 --- a/src/EFCore.Relational/Storage/Internal/RawSqlCommandBuilder.cs +++ b/src/EFCore.Relational/Storage/Internal/RawSqlCommandBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RawSqlCommandBuilder : IRawSqlCommandBuilder { private readonly IRelationalCommandBuilderFactory _relationalCommandBuilderFactory; diff --git a/src/EFCore.Relational/Storage/Internal/RelationalDatabaseFacadeDependencies.cs b/src/EFCore.Relational/Storage/Internal/RelationalDatabaseFacadeDependencies.cs index fe5fa34ee6d..573335957b1 100644 --- a/src/EFCore.Relational/Storage/Internal/RelationalDatabaseFacadeDependencies.cs +++ b/src/EFCore.Relational/Storage/Internal/RelationalDatabaseFacadeDependencies.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public record RelationalDatabaseFacadeDependencies : IRelationalDatabaseFacadeDependencies { /// diff --git a/src/EFCore.Relational/Storage/Internal/RelationalParameterBase.cs b/src/EFCore.Relational/Storage/Internal/RelationalParameterBase.cs index f36da036aea..72afa35f611 100644 --- a/src/EFCore.Relational/Storage/Internal/RelationalParameterBase.cs +++ b/src/EFCore.Relational/Storage/Internal/RelationalParameterBase.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public abstract class RelationalParameterBase : IRelationalParameter { /// diff --git a/src/EFCore.Relational/Storage/Internal/TypeMappedRelationalParameter.cs b/src/EFCore.Relational/Storage/Internal/TypeMappedRelationalParameter.cs index f5c704a9ae9..422bbcee4d3 100644 --- a/src/EFCore.Relational/Storage/Internal/TypeMappedRelationalParameter.cs +++ b/src/EFCore.Relational/Storage/Internal/TypeMappedRelationalParameter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TypeMappedRelationalParameter : RelationalParameterBase { /// diff --git a/src/EFCore.Relational/Storage/ParameterNameGeneratorDependencies.cs b/src/EFCore.Relational/Storage/ParameterNameGeneratorDependencies.cs index 00e6f106b54..894a7071268 100644 --- a/src/EFCore.Relational/Storage/ParameterNameGeneratorDependencies.cs +++ b/src/EFCore.Relational/Storage/ParameterNameGeneratorDependencies.cs @@ -44,7 +44,7 @@ public sealed record ParameterNameGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ParameterNameGeneratorDependencies() { } diff --git a/src/EFCore.Relational/Storage/RelationalCommandBuilderDependencies.cs b/src/EFCore.Relational/Storage/RelationalCommandBuilderDependencies.cs index 79bbd85c859..a7f1a35ea1c 100644 --- a/src/EFCore.Relational/Storage/RelationalCommandBuilderDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalCommandBuilderDependencies.cs @@ -43,7 +43,7 @@ public sealed record RelationalCommandBuilderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalCommandBuilderDependencies( IRelationalTypeMappingSource typeMappingSource, IExceptionDetector exceptionDetector) diff --git a/src/EFCore.Relational/Storage/RelationalConnectionDependencies.cs b/src/EFCore.Relational/Storage/RelationalConnectionDependencies.cs index c6797be24f1..5fff35c48d8 100644 --- a/src/EFCore.Relational/Storage/RelationalConnectionDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalConnectionDependencies.cs @@ -46,7 +46,7 @@ public sealed record RelationalConnectionDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalConnectionDependencies( IDbContextOptions contextOptions, IDiagnosticsLogger transactionLogger, @@ -83,7 +83,7 @@ public RelationalConnectionDependencies( /// /// A service for resolving a connection string from a name. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public INamedConnectionStringResolver ConnectionStringResolver { get; init; } /// diff --git a/src/EFCore.Relational/Storage/RelationalDatabaseCreatorDependencies.cs b/src/EFCore.Relational/Storage/RelationalDatabaseCreatorDependencies.cs index 0b14d27ec79..a7ea5c5c9df 100644 --- a/src/EFCore.Relational/Storage/RelationalDatabaseCreatorDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalDatabaseCreatorDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalDatabaseCreatorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalDatabaseCreatorDependencies( IRelationalConnection connection, IMigrationsModelDiffer modelDiffer, diff --git a/src/EFCore.Relational/Storage/RelationalDatabaseDependencies.cs b/src/EFCore.Relational/Storage/RelationalDatabaseDependencies.cs index f8c7324ce11..34539c21976 100644 --- a/src/EFCore.Relational/Storage/RelationalDatabaseDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalDatabaseDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalDatabaseDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalDatabaseDependencies( ICommandBatchPreparer batchPreparer, IBatchExecutor batchExecutor, diff --git a/src/EFCore.Relational/Storage/RelationalSqlGenerationHelperDependencies.cs b/src/EFCore.Relational/Storage/RelationalSqlGenerationHelperDependencies.cs index faec81cf1da..87e104649a1 100644 --- a/src/EFCore.Relational/Storage/RelationalSqlGenerationHelperDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalSqlGenerationHelperDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalSqlGenerationHelperDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalSqlGenerationHelperDependencies() { } diff --git a/src/EFCore.Relational/Storage/RelationalTransactionFactoryDependencies.cs b/src/EFCore.Relational/Storage/RelationalTransactionFactoryDependencies.cs index 2ab1f1a8b38..2adc3619553 100644 --- a/src/EFCore.Relational/Storage/RelationalTransactionFactoryDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalTransactionFactoryDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalTransactionFactoryDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalTransactionFactoryDependencies(ISqlGenerationHelper sqlGenerationHelper) { SqlGenerationHelper = sqlGenerationHelper; diff --git a/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs b/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs index 3a685cf279e..5f736b2c92d 100644 --- a/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs +++ b/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs @@ -218,7 +218,7 @@ protected override CoreTypeMapping FindMapping(in TypeMappingInfo mappingInfo) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] protected virtual RelationalTypeMapping? FindCollectionMapping( RelationalTypeMappingInfo info, Type modelType, diff --git a/src/EFCore.Relational/Storage/RelationalTypeMappingSourceDependencies.cs b/src/EFCore.Relational/Storage/RelationalTypeMappingSourceDependencies.cs index 702c4e9dc2c..1e61a3cc6df 100644 --- a/src/EFCore.Relational/Storage/RelationalTypeMappingSourceDependencies.cs +++ b/src/EFCore.Relational/Storage/RelationalTypeMappingSourceDependencies.cs @@ -44,7 +44,7 @@ public sealed record RelationalTypeMappingSourceDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public RelationalTypeMappingSourceDependencies( IEnumerable plugins) { diff --git a/src/EFCore.Relational/Update/Internal/BatchExecutor.cs b/src/EFCore.Relational/Update/Internal/BatchExecutor.cs index 4acdafd984c..0b8bb523205 100644 --- a/src/EFCore.Relational/Update/Internal/BatchExecutor.cs +++ b/src/EFCore.Relational/Update/Internal/BatchExecutor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class BatchExecutor : IBatchExecutor { private const string SavepointName = "__EFSavePoint"; diff --git a/src/EFCore.Relational/Update/Internal/ColumnAccessors.cs b/src/EFCore.Relational/Update/Internal/ColumnAccessors.cs index 31f089d0859..9deca5efec6 100644 --- a/src/EFCore.Relational/Update/Internal/ColumnAccessors.cs +++ b/src/EFCore.Relational/Update/Internal/ColumnAccessors.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed class ColumnAccessors { /// diff --git a/src/EFCore.Relational/Update/Internal/ColumnAccessorsFactory.cs b/src/EFCore.Relational/Update/Internal/ColumnAccessorsFactory.cs index f7f10db9bb0..d4ddc858a03 100644 --- a/src/EFCore.Relational/Update/Internal/ColumnAccessorsFactory.cs +++ b/src/EFCore.Relational/Update/Internal/ColumnAccessorsFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public static class ColumnAccessorsFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/CommandBatchPreparer.cs b/src/EFCore.Relational/Update/Internal/CommandBatchPreparer.cs index a8553ee02cb..6e21130d415 100644 --- a/src/EFCore.Relational/Update/Internal/CommandBatchPreparer.cs +++ b/src/EFCore.Relational/Update/Internal/CommandBatchPreparer.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CommandBatchPreparer : ICommandBatchPreparer { private readonly int _minBatchSize; diff --git a/src/EFCore.Relational/Update/Internal/CommandBatchPreparerDependencies.cs b/src/EFCore.Relational/Update/Internal/CommandBatchPreparerDependencies.cs index 5f1c7a561bf..a89ca4363af 100644 --- a/src/EFCore.Relational/Update/Internal/CommandBatchPreparerDependencies.cs +++ b/src/EFCore.Relational/Update/Internal/CommandBatchPreparerDependencies.cs @@ -28,6 +28,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// The implementation does not need to be thread-safe. /// /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public sealed record CommandBatchPreparerDependencies { /// @@ -44,7 +45,7 @@ public sealed record CommandBatchPreparerDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public CommandBatchPreparerDependencies( IModificationCommandBatchFactory modificationCommandBatchFactory, IParameterNameGeneratorFactory parameterNameGeneratorFactory, diff --git a/src/EFCore.Relational/Update/Internal/CompositeRowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/CompositeRowForeignKeyValueFactory.cs index ab44d45936f..5cd3d5489b1 100644 --- a/src/EFCore.Relational/Update/Internal/CompositeRowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/CompositeRowForeignKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CompositeRowForeignKeyValueFactory : CompositeRowValueFactory, IRowForeignKeyValueFactory { private readonly IForeignKeyConstraint _foreignKey; diff --git a/src/EFCore.Relational/Update/Internal/CompositeRowIndexValueFactory.cs b/src/EFCore.Relational/Update/Internal/CompositeRowIndexValueFactory.cs index b67d4bbe5cb..2e1be574a51 100644 --- a/src/EFCore.Relational/Update/Internal/CompositeRowIndexValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/CompositeRowIndexValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CompositeRowIndexValueFactory : CompositeRowValueFactory, IRowIndexValueFactory { private readonly ITableIndex _index; diff --git a/src/EFCore.Relational/Update/Internal/CompositeRowKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/CompositeRowKeyValueFactory.cs index 89c484a7cf7..47401db2604 100644 --- a/src/EFCore.Relational/Update/Internal/CompositeRowKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/CompositeRowKeyValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class CompositeRowKeyValueFactory : CompositeRowValueFactory, IRowKeyValueFactory { private readonly IUniqueConstraint _constraint; diff --git a/src/EFCore.Relational/Update/Internal/CompositeRowValueFactory.cs b/src/EFCore.Relational/Update/Internal/CompositeRowValueFactory.cs index 76e6ca16b3e..cc28e85cfa5 100644 --- a/src/EFCore.Relational/Update/Internal/CompositeRowValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/CompositeRowValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public abstract class CompositeRowValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory.cs index 5326cd95c19..0d15a65de97 100644 --- a/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowForeignKeyValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactoryFactory.cs b/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactoryFactory.cs index f4db0739336..60402ab42ab 100644 --- a/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactoryFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactoryFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowForeignKeyValueFactoryFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory`.cs b/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory`.cs index b53c488df6f..6af0ea9e19c 100644 --- a/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory`.cs +++ b/src/EFCore.Relational/Update/Internal/IRowForeignKeyValueFactory`.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowForeignKeyValueFactory : IRowForeignKeyValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowIdentityMap.cs b/src/EFCore.Relational/Update/Internal/IRowIdentityMap.cs index d16f046bac5..6b298089581 100644 --- a/src/EFCore.Relational/Update/Internal/IRowIdentityMap.cs +++ b/src/EFCore.Relational/Update/Internal/IRowIdentityMap.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowIdentityMap { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowIdentityMapFactory.cs b/src/EFCore.Relational/Update/Internal/IRowIdentityMapFactory.cs index 346354050ea..818289c3044 100644 --- a/src/EFCore.Relational/Update/Internal/IRowIdentityMapFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowIdentityMapFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowIdentityMapFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory.cs b/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory.cs index 0bb5ebbb3f7..9d39f4c7e7d 100644 --- a/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowIndexValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowIndexValueFactoryFactory.cs b/src/EFCore.Relational/Update/Internal/IRowIndexValueFactoryFactory.cs index 9aefff34bf4..a3a1e2ea849 100644 --- a/src/EFCore.Relational/Update/Internal/IRowIndexValueFactoryFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowIndexValueFactoryFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowIndexValueFactoryFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory`.cs b/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory`.cs index 9b3296b1161..daf887a7c29 100644 --- a/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory`.cs +++ b/src/EFCore.Relational/Update/Internal/IRowIndexValueFactory`.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowIndexValueFactory : IRowIndexValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory.cs index b4325e8a9e7..df788556526 100644 --- a/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowKeyValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowKeyValueFactoryFactory.cs b/src/EFCore.Relational/Update/Internal/IRowKeyValueFactoryFactory.cs index c3c27cf9c63..934e098443a 100644 --- a/src/EFCore.Relational/Update/Internal/IRowKeyValueFactoryFactory.cs +++ b/src/EFCore.Relational/Update/Internal/IRowKeyValueFactoryFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowKeyValueFactoryFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory`.cs b/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory`.cs index 3236136d762..e56031b3b97 100644 --- a/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory`.cs +++ b/src/EFCore.Relational/Update/Internal/IRowKeyValueFactory`.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public interface IRowKeyValueFactory : IRowKeyValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/ModificationCommandComparer.cs b/src/EFCore.Relational/Update/Internal/ModificationCommandComparer.cs index 7293e380fc4..9108805e070 100644 --- a/src/EFCore.Relational/Update/Internal/ModificationCommandComparer.cs +++ b/src/EFCore.Relational/Update/Internal/ModificationCommandComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ModificationCommandComparer : IComparer { /// diff --git a/src/EFCore.Relational/Update/Internal/ModificationCommandFactory.cs b/src/EFCore.Relational/Update/Internal/ModificationCommandFactory.cs index 8f866946afb..9dd8e564743 100644 --- a/src/EFCore.Relational/Update/Internal/ModificationCommandFactory.cs +++ b/src/EFCore.Relational/Update/Internal/ModificationCommandFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class ModificationCommandFactory : IModificationCommandFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactory.cs index abf174c8722..a55a7aef327 100644 --- a/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactory.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public abstract class RowForeignKeyValueFactory : IRowForeignKeyValueFactory { private readonly IForeignKeyConstraint _foreignKey; diff --git a/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactoryFactory.cs b/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactoryFactory.cs index c298003f1df..19711661308 100644 --- a/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactoryFactory.cs +++ b/src/EFCore.Relational/Update/Internal/RowForeignKeyValueFactoryFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RowForeignKeyValueFactoryFactory : IRowForeignKeyValueFactoryFactory { private readonly IValueConverterSelector _valueConverterSelector; diff --git a/src/EFCore.Relational/Update/Internal/RowIdentityMap.cs b/src/EFCore.Relational/Update/Internal/RowIdentityMap.cs index c2c017ed318..3f85f27fa21 100644 --- a/src/EFCore.Relational/Update/Internal/RowIdentityMap.cs +++ b/src/EFCore.Relational/Update/Internal/RowIdentityMap.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RowIdentityMap : IRowIdentityMap where TKey : notnull { diff --git a/src/EFCore.Relational/Update/Internal/RowIdentityMapFactory.cs b/src/EFCore.Relational/Update/Internal/RowIdentityMapFactory.cs index 92683d36d25..fef37ab7bc4 100644 --- a/src/EFCore.Relational/Update/Internal/RowIdentityMapFactory.cs +++ b/src/EFCore.Relational/Update/Internal/RowIdentityMapFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RowIdentityMapFactory : IRowIdentityMapFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/RowIndexValueFactoryFactory.cs b/src/EFCore.Relational/Update/Internal/RowIndexValueFactoryFactory.cs index 11a3385f0f5..724f42717e4 100644 --- a/src/EFCore.Relational/Update/Internal/RowIndexValueFactoryFactory.cs +++ b/src/EFCore.Relational/Update/Internal/RowIndexValueFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RowIndexValueFactoryFactory : IRowIndexValueFactoryFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/RowKeyValueFactoryFactory.cs b/src/EFCore.Relational/Update/Internal/RowKeyValueFactoryFactory.cs index 44d9e067161..7393191d159 100644 --- a/src/EFCore.Relational/Update/Internal/RowKeyValueFactoryFactory.cs +++ b/src/EFCore.Relational/Update/Internal/RowKeyValueFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class RowKeyValueFactoryFactory : IRowKeyValueFactoryFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/SharedTableEntryMap.cs b/src/EFCore.Relational/Update/Internal/SharedTableEntryMap.cs index 8eb2e9c60a5..142255f07d6 100644 --- a/src/EFCore.Relational/Update/Internal/SharedTableEntryMap.cs +++ b/src/EFCore.Relational/Update/Internal/SharedTableEntryMap.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SharedTableEntryMap { private readonly ITable _table; diff --git a/src/EFCore.Relational/Update/Internal/SharedTableEntryMapFactory.cs b/src/EFCore.Relational/Update/Internal/SharedTableEntryMapFactory.cs index ee62ad4495c..0fa4fd54b46 100644 --- a/src/EFCore.Relational/Update/Internal/SharedTableEntryMapFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SharedTableEntryMapFactory.cs @@ -9,4 +9,5 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public delegate SharedTableEntryMap SharedTableEntryMapFactory(SharedTableEntryValueFactory valueFactory); diff --git a/src/EFCore.Relational/Update/Internal/SharedTableEntryValueFactory.cs b/src/EFCore.Relational/Update/Internal/SharedTableEntryValueFactory.cs index 4196f65171d..bfd9657c562 100644 --- a/src/EFCore.Relational/Update/Internal/SharedTableEntryValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SharedTableEntryValueFactory.cs @@ -9,4 +9,5 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public delegate TValue SharedTableEntryValueFactory(ITable table, IComparer comparer); diff --git a/src/EFCore.Relational/Update/Internal/SimpleFullyNullableRowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/SimpleFullyNullableRowForeignKeyValueFactory.cs index 1fa0064190b..97b06f1274c 100644 --- a/src/EFCore.Relational/Update/Internal/SimpleFullyNullableRowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SimpleFullyNullableRowForeignKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SimpleFullyNullableRowForeignKeyValueFactory : RowForeignKeyValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/SimpleNonNullableRowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/SimpleNonNullableRowForeignKeyValueFactory.cs index f3283f1cd74..1b63e58c988 100644 --- a/src/EFCore.Relational/Update/Internal/SimpleNonNullableRowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SimpleNonNullableRowForeignKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SimpleNonNullableRowForeignKeyValueFactory : RowForeignKeyValueFactory { /// diff --git a/src/EFCore.Relational/Update/Internal/SimpleNullablePrincipalRowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/SimpleNullablePrincipalRowForeignKeyValueFactory.cs index 97f8e1d3e5f..3711465789f 100644 --- a/src/EFCore.Relational/Update/Internal/SimpleNullablePrincipalRowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SimpleNullablePrincipalRowForeignKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SimpleNullablePrincipalRowForeignKeyValueFactory : RowForeignKeyValueFactory where TKey : notnull diff --git a/src/EFCore.Relational/Update/Internal/SimpleNullableRowForeignKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/SimpleNullableRowForeignKeyValueFactory.cs index 292cc8a543c..7a98b94e1d1 100644 --- a/src/EFCore.Relational/Update/Internal/SimpleNullableRowForeignKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SimpleNullableRowForeignKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SimpleNullableRowForeignKeyValueFactory : RowForeignKeyValueFactory where TKey : struct { diff --git a/src/EFCore.Relational/Update/Internal/SimpleRowIndexValueFactory.cs b/src/EFCore.Relational/Update/Internal/SimpleRowIndexValueFactory.cs index e390b747498..974b6beb443 100644 --- a/src/EFCore.Relational/Update/Internal/SimpleRowIndexValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SimpleRowIndexValueFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SimpleRowIndexValueFactory : IRowIndexValueFactory { private readonly IColumn _column; diff --git a/src/EFCore.Relational/Update/Internal/SimpleRowKeyValueFactory.cs b/src/EFCore.Relational/Update/Internal/SimpleRowKeyValueFactory.cs index d4a78db1929..5ef0e2daca0 100644 --- a/src/EFCore.Relational/Update/Internal/SimpleRowKeyValueFactory.cs +++ b/src/EFCore.Relational/Update/Internal/SimpleRowKeyValueFactory.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class SimpleRowKeyValueFactory : IRowKeyValueFactory { private readonly IUniqueConstraint _constraint; diff --git a/src/EFCore.Relational/Update/ModificationCommand.cs b/src/EFCore.Relational/Update/ModificationCommand.cs index f60d0369268..3a826ff809f 100644 --- a/src/EFCore.Relational/Update/ModificationCommand.cs +++ b/src/EFCore.Relational/Update/ModificationCommand.cs @@ -108,7 +108,7 @@ public virtual IReadOnlyList ColumnModifications /// doing so can result in application failures when updating to a new Entity Framework Core release. /// [Conditional("DEBUG")] - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public virtual void AssertColumnsNotInitialized() { if (_columnModifications != null @@ -585,10 +585,10 @@ void HandleSharedColumns( var jsonPropertyName = currentEntry.EntityType.GetJsonPropertyName()!; currentOwnership = currentEntry.EntityType.FindOwnership()!; var previousEntry = currentEntry; -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. currentEntry = ((InternalEntityEntry)currentEntry).StateManager.FindPrincipal( (InternalEntityEntry)currentEntry, currentOwnership)!; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. if (processedEntries.Contains(currentEntry)) { @@ -878,9 +878,9 @@ private void WriteJson( return; } -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. var entry = (IUpdateEntry)((InternalEntityEntry)parentEntry).StateManager.TryGetEntry(navigationValue, entityType)!; -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. writer.WriteStartObject(); foreach (var property in entityType.GetFlattenedProperties()) diff --git a/src/EFCore.Relational/Update/ModificationCommandBatchFactoryDependencies.cs b/src/EFCore.Relational/Update/ModificationCommandBatchFactoryDependencies.cs index 8d6f680d0ed..6a5aae67044 100644 --- a/src/EFCore.Relational/Update/ModificationCommandBatchFactoryDependencies.cs +++ b/src/EFCore.Relational/Update/ModificationCommandBatchFactoryDependencies.cs @@ -44,7 +44,7 @@ public sealed record ModificationCommandBatchFactoryDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public ModificationCommandBatchFactoryDependencies( IRelationalCommandBuilderFactory commandBuilderFactory, ISqlGenerationHelper sqlGenerationHelper, diff --git a/src/EFCore.Relational/Update/UpdateSqlGeneratorDependencies.cs b/src/EFCore.Relational/Update/UpdateSqlGeneratorDependencies.cs index 4fdfc816143..7e103e21cf8 100644 --- a/src/EFCore.Relational/Update/UpdateSqlGeneratorDependencies.cs +++ b/src/EFCore.Relational/Update/UpdateSqlGeneratorDependencies.cs @@ -44,7 +44,7 @@ public sealed record UpdateSqlGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.RelationalInternalUsage)] public UpdateSqlGeneratorDependencies( ISqlGenerationHelper sqlGenerationHelper, IRelationalTypeMappingSource typeMappingSource) diff --git a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryBinaryValueGenerator.cs b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryBinaryValueGenerator.cs index 7344d9bbe66..96db3c226ec 100644 --- a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryBinaryValueGenerator.cs +++ b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryBinaryValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TemporaryBinaryValueGenerator : ValueGenerator { /// diff --git a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeOffsetValueGenerator.cs b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeOffsetValueGenerator.cs index 1ecae3b5742..cdc43b47c33 100644 --- a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeOffsetValueGenerator.cs +++ b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeOffsetValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TemporaryDateTimeOffsetValueGenerator : ValueGenerator { private long _current; diff --git a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeValueGenerator.cs b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeValueGenerator.cs index d3e0e1cc4d0..e1d63b45dd8 100644 --- a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeValueGenerator.cs +++ b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryDateTimeValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TemporaryDateTimeValueGenerator : ValueGenerator { private long _current; diff --git a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryStringValueGenerator.cs b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryStringValueGenerator.cs index 720ea0ad2c7..dc65f863d9a 100644 --- a/src/EFCore.Relational/ValueGeneration/Internal/TemporaryStringValueGenerator.cs +++ b/src/EFCore.Relational/ValueGeneration/Internal/TemporaryStringValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.RelationalInternalUsage)] public class TemporaryStringValueGenerator : ValueGenerator { /// diff --git a/src/EFCore.SqlServer.HierarchyId/Design/Internal/SqlServerHierarchyIdDesignTimeServices.cs b/src/EFCore.SqlServer.HierarchyId/Design/Internal/SqlServerHierarchyIdDesignTimeServices.cs index 9266daa2962..a14981c3774 100644 --- a/src/EFCore.SqlServer.HierarchyId/Design/Internal/SqlServerHierarchyIdDesignTimeServices.cs +++ b/src/EFCore.SqlServer.HierarchyId/Design/Internal/SqlServerHierarchyIdDesignTimeServices.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdDesignTimeServices : IDesignTimeServices { /// diff --git a/src/EFCore.SqlServer.HierarchyId/EFCore.SqlServer.HierarchyId.csproj b/src/EFCore.SqlServer.HierarchyId/EFCore.SqlServer.HierarchyId.csproj index e6d879e920a..3b8dcf6ff57 100644 --- a/src/EFCore.SqlServer.HierarchyId/EFCore.SqlServer.HierarchyId.csproj +++ b/src/EFCore.SqlServer.HierarchyId/EFCore.SqlServer.HierarchyId.csproj @@ -9,10 +9,12 @@ true $(PackageTags);SQL Server;HierarchyId true + $(NoWarn);EF9999 + diff --git a/src/EFCore.SqlServer.HierarchyId/Infrastructure/Internal/SqlServerHierarchyIdOptionsExtension.cs b/src/EFCore.SqlServer.HierarchyId/Infrastructure/Internal/SqlServerHierarchyIdOptionsExtension.cs index a59caaa71cf..ff650c53404 100644 --- a/src/EFCore.SqlServer.HierarchyId/Infrastructure/Internal/SqlServerHierarchyIdOptionsExtension.cs +++ b/src/EFCore.SqlServer.HierarchyId/Infrastructure/Internal/SqlServerHierarchyIdOptionsExtension.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdOptionsExtension : IDbContextOptionsExtension { private DbContextOptionsExtensionInfo? _info; diff --git a/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.cs b/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.cs index 1d2fc122f36..4213c10032b 100644 --- a/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.cs +++ b/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerHierarchyIdStrings { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.tt b/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.tt index c5c536e3617..625c0f6d023 100644 --- a/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.tt +++ b/src/EFCore.SqlServer.HierarchyId/Properties/SqlServerHierarchyIdStrings.Designer.tt @@ -4,5 +4,6 @@ Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.SqlServer.Properties"; Session["LoggingDefinitionsClass"] = "SqlServerHierarchyIdLoggingDefinitions"; Session["NoDiagnostics"] = true; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodCallTranslatorPlugin.cs b/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodCallTranslatorPlugin.cs index 712bb58671d..76125b97159 100644 --- a/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodCallTranslatorPlugin.cs +++ b/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodCallTranslatorPlugin.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdMethodCallTranslatorPlugin : IMethodCallTranslatorPlugin { /// diff --git a/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodTranslator.cs b/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodTranslator.cs index 3211a3bfede..6474b415682 100644 --- a/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodTranslator.cs +++ b/src/EFCore.SqlServer.HierarchyId/Query/Internal/SqlServerHierarchyIdMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdMethodTranslator : IMethodCallTranslator { private static readonly Dictionary _methodToFunctionName = new() diff --git a/src/EFCore.SqlServer.HierarchyId/Scaffolding/Internal/SqlServerHierarchyIdCodeGeneratorPlugin.cs b/src/EFCore.SqlServer.HierarchyId/Scaffolding/Internal/SqlServerHierarchyIdCodeGeneratorPlugin.cs index c4271414b45..514e858f9d7 100644 --- a/src/EFCore.SqlServer.HierarchyId/Scaffolding/Internal/SqlServerHierarchyIdCodeGeneratorPlugin.cs +++ b/src/EFCore.SqlServer.HierarchyId/Scaffolding/Internal/SqlServerHierarchyIdCodeGeneratorPlugin.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdCodeGeneratorPlugin : ProviderCodeGeneratorPlugin { /// diff --git a/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMapping.cs b/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMapping.cs index e2240bd7973..478460be48f 100644 --- a/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMapping.cs +++ b/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMapping.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdTypeMapping : RelationalTypeMapping { private const string HierarchyIdFormatConst = "hierarchyid::Parse('{0}')"; diff --git a/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMappingSourcePlugin.cs b/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMappingSourcePlugin.cs index 3905e2ff3d4..be6ed00b3c3 100644 --- a/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMappingSourcePlugin.cs +++ b/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerHierarchyIdTypeMappingSourcePlugin.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdTypeMappingSourcePlugin : IRelationalTypeMappingSourcePlugin { /// diff --git a/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerSqlHierarchyIdTypeMapping.cs b/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerSqlHierarchyIdTypeMapping.cs index 7972da8c451..780831970b2 100644 --- a/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerSqlHierarchyIdTypeMapping.cs +++ b/src/EFCore.SqlServer.HierarchyId/Storage/Internal/SqlServerSqlHierarchyIdTypeMapping.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlHierarchyIdTypeMapping : RelationalTypeMapping { private const string SqlHierarchyIdFormatConst = "hierarchyid::Parse('{0}')"; diff --git a/src/EFCore.SqlServer.HierarchyId/Storage/ValueConversion/Internal/SqlServerHierarchyIdValueConverter.cs b/src/EFCore.SqlServer.HierarchyId/Storage/ValueConversion/Internal/SqlServerHierarchyIdValueConverter.cs index 73b3b9154c6..d6651017a41 100644 --- a/src/EFCore.SqlServer.HierarchyId/Storage/ValueConversion/Internal/SqlServerHierarchyIdValueConverter.cs +++ b/src/EFCore.SqlServer.HierarchyId/Storage/ValueConversion/Internal/SqlServerHierarchyIdValueConverter.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.ValueConversion.Intern /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHierarchyIdValueConverter : ValueConverter { /// diff --git a/src/EFCore.SqlServer.NTS/Design/Internal/SqlServerNetTopologySuiteDesignTimeServices.cs b/src/EFCore.SqlServer.NTS/Design/Internal/SqlServerNetTopologySuiteDesignTimeServices.cs index 602a7a7067b..ab94db006f4 100644 --- a/src/EFCore.SqlServer.NTS/Design/Internal/SqlServerNetTopologySuiteDesignTimeServices.cs +++ b/src/EFCore.SqlServer.NTS/Design/Internal/SqlServerNetTopologySuiteDesignTimeServices.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteDesignTimeServices : IDesignTimeServices { /// diff --git a/src/EFCore.SqlServer.NTS/EFCore.SqlServer.NTS.csproj b/src/EFCore.SqlServer.NTS/EFCore.SqlServer.NTS.csproj index 8a1570e3b59..802767a0e34 100644 --- a/src/EFCore.SqlServer.NTS/EFCore.SqlServer.NTS.csproj +++ b/src/EFCore.SqlServer.NTS/EFCore.SqlServer.NTS.csproj @@ -9,11 +9,13 @@ true $(PackageTags);SQL Server;GIS;NTS;OGC;Spatial true + $(NoWarn);EF9999 + diff --git a/src/EFCore.SqlServer.NTS/Infrastructure/Internal/SqlServerNetTopologySuiteOptionsExtension.cs b/src/EFCore.SqlServer.NTS/Infrastructure/Internal/SqlServerNetTopologySuiteOptionsExtension.cs index f7a97b816e4..dc1d34accb9 100644 --- a/src/EFCore.SqlServer.NTS/Infrastructure/Internal/SqlServerNetTopologySuiteOptionsExtension.cs +++ b/src/EFCore.SqlServer.NTS/Infrastructure/Internal/SqlServerNetTopologySuiteOptionsExtension.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteOptionsExtension : IDbContextOptionsExtension { private DbContextOptionsExtensionInfo? _info; diff --git a/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.cs b/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.cs index 411a5dee086..8826ebc15e5 100644 --- a/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.cs +++ b/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerNTSStrings { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.tt b/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.tt index 0bd81b8555b..8a9ec8af0d1 100644 --- a/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.tt +++ b/src/EFCore.SqlServer.NTS/Properties/SqlServerNTSStrings.Designer.tt @@ -4,5 +4,6 @@ Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.SqlServer.Properties"; Session["LoggingDefinitionsClass"] = "SqlServerNtsLoggingDefinitions"; Session["NoDiagnostics"] = true; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMemberTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMemberTranslator.cs index d1fad65172f..4620769584c 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMemberTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerGeometryCollectionMemberTranslator : IMemberTranslator { private static readonly MemberInfo Count diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMethodTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMethodTranslator.cs index 9f8ec2331c5..8b330a5ad79 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMethodTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryCollectionMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerGeometryCollectionMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo Item = typeof(GeometryCollection).GetTypeInfo().GetRuntimeProperty("Item")!.GetMethod!; diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMemberTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMemberTranslator.cs index ab5f8c35bbe..f0d6d2c0239 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMemberTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerGeometryMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToFunctionName = new Dictionary diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMethodTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMethodTranslator.cs index a35e4c8fdfc..bd024aded81 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMethodTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerGeometryMethodTranslator.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerGeometryMethodTranslator : IMethodCallTranslator { private static readonly IDictionary MethodToFunctionName = new Dictionary diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMemberTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMemberTranslator.cs index 8615e1cc6e3..7a60dab3580 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMemberTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerLineStringMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToFunctionName = new Dictionary diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMethodTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMethodTranslator.cs index febb5b1d8be..30c88acb17a 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMethodTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerLineStringMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerLineStringMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo GetPointN = typeof(LineString).GetRuntimeMethod( diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerMultiLineStringMemberTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerMultiLineStringMemberTranslator.cs index 68a7767a5d1..a5df52b05bf 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerMultiLineStringMemberTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerMultiLineStringMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerMultiLineStringMemberTranslator : IMemberTranslator { private static readonly MemberInfo IsClosed diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs index 7447c7f2bdd..618aaf8890c 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteAggregateMethodCallTranslatorPlugin : IAggregateMethodCallTranslatorPlugin { /// diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodTranslator.cs index 8d63d7fa594..e6c626eb8f0 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteAggregateMethodTranslator.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteAggregateMethodTranslator : IAggregateMethodCallTranslator { private static readonly MethodInfo GeometryCombineMethod diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteDbFunctionsMethodCallTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteDbFunctionsMethodCallTranslator.cs index d9fd19c22be..478f159f1c0 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteDbFunctionsMethodCallTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteDbFunctionsMethodCallTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteDbFunctionsMethodCallTranslator : IMethodCallTranslator { private static readonly MethodInfo CurveToLineMethodInfo = typeof(SqlServerNetTopologySuiteDbFunctionsExtensions) diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteEvaluatableExpressionFilterPlugin.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteEvaluatableExpressionFilterPlugin.cs index d3622c073de..7a665322c53 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteEvaluatableExpressionFilterPlugin.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteEvaluatableExpressionFilterPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteEvaluatableExpressionFilterPlugin : IEvaluatableExpressionFilterPlugin { /// diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMemberTranslatorPlugin.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMemberTranslatorPlugin.cs index e20ceec34d1..451affa8f07 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMemberTranslatorPlugin.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMemberTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteMemberTranslatorPlugin : IMemberTranslatorPlugin { /// diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMethodCallTranslatorPlugin.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMethodCallTranslatorPlugin.cs index 4ea128a6706..80340ef627c 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMethodCallTranslatorPlugin.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerNetTopologySuiteMethodCallTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteMethodCallTranslatorPlugin : IMethodCallTranslatorPlugin { /// diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPointMemberTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPointMemberTranslator.cs index 21451f426a8..09bdd29b197 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPointMemberTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPointMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerPointMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToPropertyName = new Dictionary diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMemberTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMemberTranslator.cs index aec9e201e44..bf6f6a228cf 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMemberTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerPolygonMemberTranslator : IMemberTranslator { private static readonly MemberInfo ExteriorRing diff --git a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMethodTranslator.cs b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMethodTranslator.cs index 0ed9673aaff..70ff800838c 100644 --- a/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMethodTranslator.cs +++ b/src/EFCore.SqlServer.NTS/Query/Internal/SqlServerPolygonMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerPolygonMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo GetInteriorRingN = typeof(Polygon).GetRuntimeMethod( diff --git a/src/EFCore.SqlServer.NTS/Scaffolding/Internal/SqlServerNetTopologySuiteCodeGeneratorPlugin.cs b/src/EFCore.SqlServer.NTS/Scaffolding/Internal/SqlServerNetTopologySuiteCodeGeneratorPlugin.cs index 1a211cd4936..b3a43a18603 100644 --- a/src/EFCore.SqlServer.NTS/Scaffolding/Internal/SqlServerNetTopologySuiteCodeGeneratorPlugin.cs +++ b/src/EFCore.SqlServer.NTS/Scaffolding/Internal/SqlServerNetTopologySuiteCodeGeneratorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteCodeGeneratorPlugin : ProviderCodeGeneratorPlugin { private static readonly MethodInfo UseNetTopologySuiteMethodInfo diff --git a/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs b/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs index c59569ef137..213874c26e8 100644 --- a/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs +++ b/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs @@ -19,6 +19,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerGeometryTypeMapping : RelationalGeometryTypeMapping where TGeometry : Geometry { diff --git a/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerNetTopologySuiteTypeMappingSourcePlugin.cs b/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerNetTopologySuiteTypeMappingSourcePlugin.cs index f7238b020ea..6e212592e7b 100644 --- a/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerNetTopologySuiteTypeMappingSourcePlugin.cs +++ b/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerNetTopologySuiteTypeMappingSourcePlugin.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNetTopologySuiteTypeMappingSourcePlugin : IRelationalTypeMappingSourcePlugin { private readonly HashSet _spatialStoreTypes = new(StringComparer.OrdinalIgnoreCase) { "geometry", "geography" }; diff --git a/src/EFCore.SqlServer.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs b/src/EFCore.SqlServer.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs index ad187349e99..0bc31e9dada 100644 --- a/src/EFCore.SqlServer.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs +++ b/src/EFCore.SqlServer.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.ValueConversion.Intern /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class GeometryValueConverter : ValueConverter where TGeometry : Geometry { diff --git a/src/EFCore.SqlServer/Design/Internal/SqlServerAnnotationCodeGenerator.cs b/src/EFCore.SqlServer/Design/Internal/SqlServerAnnotationCodeGenerator.cs index 2c0bebd2ab1..62712625b23 100644 --- a/src/EFCore.SqlServer/Design/Internal/SqlServerAnnotationCodeGenerator.cs +++ b/src/EFCore.SqlServer/Design/Internal/SqlServerAnnotationCodeGenerator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerAnnotationCodeGenerator : AnnotationCodeGenerator { #region MethodInfos diff --git a/src/EFCore.SqlServer/Design/Internal/SqlServerCSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore.SqlServer/Design/Internal/SqlServerCSharpRuntimeAnnotationCodeGenerator.cs index 49f80dbd033..cd19915c729 100644 --- a/src/EFCore.SqlServer/Design/Internal/SqlServerCSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore.SqlServer/Design/Internal/SqlServerCSharpRuntimeAnnotationCodeGenerator.cs @@ -12,7 +12,9 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; /// 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. /// -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerCSharpRuntimeAnnotationCodeGenerator : RelationalCSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore.SqlServer/Design/Internal/SqlServerDesignTimeServices.cs b/src/EFCore.SqlServer/Design/Internal/SqlServerDesignTimeServices.cs index a29a58dfd34..f7a52f1e435 100644 --- a/src/EFCore.SqlServer/Design/Internal/SqlServerDesignTimeServices.cs +++ b/src/EFCore.SqlServer/Design/Internal/SqlServerDesignTimeServices.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDesignTimeServices : IDesignTimeServices { /// @@ -26,11 +27,11 @@ public virtual void ConfigureDesignTimeServices(IServiceCollection serviceCollec { serviceCollection.AddEntityFrameworkSqlServer(); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. new EntityFrameworkRelationalDesignServicesBuilder(serviceCollection) .TryAdd() .TryAdd() -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. .TryAdd() .TryAdd() .TryAddCoreServices(); diff --git a/src/EFCore.SqlServer/Diagnostics/Internal/SqlServerLoggingDefinitions.cs b/src/EFCore.SqlServer/Diagnostics/Internal/SqlServerLoggingDefinitions.cs index 39aeb7ee552..1c365696f69 100644 --- a/src/EFCore.SqlServer/Diagnostics/Internal/SqlServerLoggingDefinitions.cs +++ b/src/EFCore.SqlServer/Diagnostics/Internal/SqlServerLoggingDefinitions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerLoggingDefinitions : RelationalLoggingDefinitions { /// diff --git a/src/EFCore.SqlServer/EFCore.SqlServer.csproj b/src/EFCore.SqlServer/EFCore.SqlServer.csproj index 9e23cff53e2..f891d239eb3 100644 --- a/src/EFCore.SqlServer/EFCore.SqlServer.csproj +++ b/src/EFCore.SqlServer/EFCore.SqlServer.csproj @@ -9,12 +9,14 @@ true $(PackageTags);SQL Server true - EF1003 + $(NoWarn);EF9999 + $(NoWarn);EF1003 + diff --git a/src/EFCore.SqlServer/Extensions/Internal/SqlServerLoggerExtensions.cs b/src/EFCore.SqlServer/Extensions/Internal/SqlServerLoggerExtensions.cs index 77715b37deb..05724cf1111 100644 --- a/src/EFCore.SqlServer/Extensions/Internal/SqlServerLoggerExtensions.cs +++ b/src/EFCore.SqlServer/Extensions/Internal/SqlServerLoggerExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Extensions.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerLoggerExtensions { /// diff --git a/src/EFCore.SqlServer/Infrastructure/Internal/ISqlServerSingletonOptions.cs b/src/EFCore.SqlServer/Infrastructure/Internal/ISqlServerSingletonOptions.cs index f5f661d65d3..c9e6cfec742 100644 --- a/src/EFCore.SqlServer/Infrastructure/Internal/ISqlServerSingletonOptions.cs +++ b/src/EFCore.SqlServer/Infrastructure/Internal/ISqlServerSingletonOptions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqlServerSingletonOptions : ISingletonOptions { /// diff --git a/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerModelValidator.cs b/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerModelValidator.cs index b6f8370227c..d99394dc40a 100644 --- a/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerModelValidator.cs +++ b/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerModelValidator.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerModelValidator : RelationalModelValidator { /// diff --git a/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerOptionsExtension.cs b/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerOptionsExtension.cs index 50e26c4e6a0..08cff48f7f4 100644 --- a/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerOptionsExtension.cs +++ b/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerOptionsExtension.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerOptionsExtension : RelationalOptionsExtension, IDbContextOptionsExtension { private DbContextOptionsExtensionInfo? _info; diff --git a/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerSingletonOptions.cs b/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerSingletonOptions.cs index cba62d8cd69..6d9d2c07cb3 100644 --- a/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerSingletonOptions.cs +++ b/src/EFCore.SqlServer/Infrastructure/Internal/SqlServerSingletonOptions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSingletonOptions : ISqlServerSingletonOptions { /// diff --git a/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalPeriodPropertyBuilder.cs b/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalPeriodPropertyBuilder.cs index 109b86334db..763b2abfa16 100644 --- a/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalPeriodPropertyBuilder.cs +++ b/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalPeriodPropertyBuilder.cs @@ -19,7 +19,7 @@ public class OwnedNavigationTemporalPeriodPropertyBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public OwnedNavigationTemporalPeriodPropertyBuilder( PropertyBuilder propertyBuilder) { diff --git a/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder.cs b/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder.cs index f3b5835b7bd..a1c9c414381 100644 --- a/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder.cs +++ b/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder.cs @@ -19,7 +19,7 @@ public class OwnedNavigationTemporalTableBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public OwnedNavigationTemporalTableBuilder(OwnedNavigationBuilder referenceOwnershipBuilder) { _referenceOwnershipBuilder = referenceOwnershipBuilder; @@ -69,9 +69,9 @@ public virtual OwnedNavigationTemporalPeriodPropertyBuilder HasPeriodStart(strin _referenceOwnershipBuilder.OwnedEntityType.SetPeriodStartPropertyName(propertyName); var property = ConfigurePeriodProperty(propertyName); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. return new OwnedNavigationTemporalPeriodPropertyBuilder(new PropertyBuilder(property)); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } /// @@ -88,9 +88,9 @@ public virtual OwnedNavigationTemporalPeriodPropertyBuilder HasPeriodEnd(string _referenceOwnershipBuilder.OwnedEntityType.SetPeriodEndPropertyName(propertyName); var property = ConfigurePeriodProperty(propertyName); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. return new OwnedNavigationTemporalPeriodPropertyBuilder(new PropertyBuilder(property)); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } private IMutableProperty ConfigurePeriodProperty(string propertyName) diff --git a/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder``.cs b/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder``.cs index 5569c0196e6..c228c189c7a 100644 --- a/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder``.cs +++ b/src/EFCore.SqlServer/Metadata/Builders/OwnedNavigationTemporalTableBuilder``.cs @@ -19,7 +19,7 @@ public class OwnedNavigationTemporalTableBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public OwnedNavigationTemporalTableBuilder(OwnedNavigationBuilder referenceOwnershipBuilder) : base(referenceOwnershipBuilder) { diff --git a/src/EFCore.SqlServer/Metadata/Builders/TemporalPeriodPropertyBuilder.cs b/src/EFCore.SqlServer/Metadata/Builders/TemporalPeriodPropertyBuilder.cs index c2cbeb28dc9..de736d8834f 100644 --- a/src/EFCore.SqlServer/Metadata/Builders/TemporalPeriodPropertyBuilder.cs +++ b/src/EFCore.SqlServer/Metadata/Builders/TemporalPeriodPropertyBuilder.cs @@ -19,7 +19,7 @@ public class TemporalPeriodPropertyBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public TemporalPeriodPropertyBuilder(PropertyBuilder propertyBuilder) { _propertyBuilder = propertyBuilder; diff --git a/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder.cs b/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder.cs index a62bfc54250..dad6f5b3bc4 100644 --- a/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder.cs +++ b/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder.cs @@ -19,7 +19,7 @@ public class TemporalTableBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public TemporalTableBuilder(EntityTypeBuilder entityTypeBuilder) { _entityTypeBuilder = entityTypeBuilder; @@ -69,9 +69,9 @@ public virtual TemporalPeriodPropertyBuilder HasPeriodStart(string propertyName) _entityTypeBuilder.Metadata.SetPeriodStartPropertyName(propertyName); var property = ConfigurePeriodProperty(propertyName); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. return new TemporalPeriodPropertyBuilder(new PropertyBuilder(property)); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } /// @@ -88,9 +88,9 @@ public virtual TemporalPeriodPropertyBuilder HasPeriodEnd(string propertyName) _entityTypeBuilder.Metadata.SetPeriodEndPropertyName(propertyName); var property = ConfigurePeriodProperty(propertyName); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. return new TemporalPeriodPropertyBuilder(new PropertyBuilder(property)); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. } private IMutableProperty ConfigurePeriodProperty(string propertyName) diff --git a/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder`.cs b/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder`.cs index cbaa5b76a66..7aacf8fb884 100644 --- a/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder`.cs +++ b/src/EFCore.SqlServer/Metadata/Builders/TemporalTableBuilder`.cs @@ -17,7 +17,7 @@ public class TemporalTableBuilder : TemporalTableBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public TemporalTableBuilder(EntityTypeBuilder entityTypeBuilder) : base(entityTypeBuilder) { diff --git a/src/EFCore.SqlServer/Metadata/Conventions/SqlServerValueGenerationConvention.cs b/src/EFCore.SqlServer/Metadata/Conventions/SqlServerValueGenerationConvention.cs index b7a201bed31..019b096518a 100644 --- a/src/EFCore.SqlServer/Metadata/Conventions/SqlServerValueGenerationConvention.cs +++ b/src/EFCore.SqlServer/Metadata/Conventions/SqlServerValueGenerationConvention.cs @@ -98,9 +98,9 @@ public override void ProcessEntityTypeAnnotationChanged( { // TODO: move to relational? if (property.DeclaringType.IsMappedToJson() -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. && property.IsOrdinalKeyProperty() -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 // Internal EF Core API usage. && (property.DeclaringType as IReadOnlyEntityType)?.FindOwnership()!.IsUnique == false) { return ValueGenerated.OnAdd; diff --git a/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationNames.cs b/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationNames.cs index f192eabecb5..6e05752bc7d 100644 --- a/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationNames.cs +++ b/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationNames.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerAnnotationNames { /// diff --git a/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationProvider.cs b/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationProvider.cs index a6fecde4a4f..496133e54ed 100644 --- a/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationProvider.cs +++ b/src/EFCore.SqlServer/Metadata/Internal/SqlServerAnnotationProvider.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerAnnotationProvider : RelationalAnnotationProvider { /// @@ -250,12 +251,14 @@ public override IEnumerable For(IColumn column, bool designTime) } // JSON columns have no property mappings so all annotations that rely on property mappings should be skipped for them +#pragma warning disable EF9902 // Internal EF Core relational API usage. if (column is not JsonColumn && column.PropertyMappings.FirstOrDefault()?.Property.IsSparse() is bool isSparse) { // Model validation ensures that these facets are the same on all mapped properties yield return new Annotation(SqlServerAnnotationNames.Sparse, isSparse); } +#pragma warning restore EF9902 var entityType = (IEntityType)column.Table.EntityTypeMappings.First().TypeBase; if (entityType.IsTemporal()) diff --git a/src/EFCore.SqlServer/Metadata/Internal/SqlServerIndexExtensions.cs b/src/EFCore.SqlServer/Metadata/Internal/SqlServerIndexExtensions.cs index 416f1064329..b29ae6515dd 100644 --- a/src/EFCore.SqlServer/Metadata/Internal/SqlServerIndexExtensions.cs +++ b/src/EFCore.SqlServer/Metadata/Internal/SqlServerIndexExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerIndexExtensions { /// diff --git a/src/EFCore.SqlServer/Metadata/Internal/SqlServerKeyExtensions.cs b/src/EFCore.SqlServer/Metadata/Internal/SqlServerKeyExtensions.cs index b1f4970ec69..9307163fb51 100644 --- a/src/EFCore.SqlServer/Metadata/Internal/SqlServerKeyExtensions.cs +++ b/src/EFCore.SqlServer/Metadata/Internal/SqlServerKeyExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerKeyExtensions { /// diff --git a/src/EFCore.SqlServer/Migrations/Internal/SqlServerHistoryRepository.cs b/src/EFCore.SqlServer/Migrations/Internal/SqlServerHistoryRepository.cs index 1169be0a89d..c0518f56248 100644 --- a/src/EFCore.SqlServer/Migrations/Internal/SqlServerHistoryRepository.cs +++ b/src/EFCore.SqlServer/Migrations/Internal/SqlServerHistoryRepository.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerHistoryRepository : HistoryRepository { /// diff --git a/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs b/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs index c971efad482..c6bd177a9e5 100644 --- a/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs +++ b/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs @@ -11,15 +11,16 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerMigrationsAnnotationProvider : MigrationsAnnotationProvider { /// /// Initializes a new instance of this class. /// /// Parameter object containing dependencies for this service. -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. public SqlServerMigrationsAnnotationProvider(MigrationsAnnotationProviderDependencies dependencies) -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9902 : base(dependencies) { } diff --git a/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs b/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs index 0401a37e299..f4884d24c50 100644 --- a/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs +++ b/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerStrings { private static readonly ResourceManager _resourceManager @@ -428,6 +429,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerResources { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.tt b/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.tt index 3302eebc580..8964e5ee992 100644 --- a/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.tt +++ b/src/EFCore.SqlServer/Properties/SqlServerStrings.Designer.tt @@ -3,5 +3,6 @@ Session["ResourceFile"] = "SqlServerStrings.resx"; Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.SqlServer.Properties"; Session["LoggingDefinitionsClass"] = "Diagnostics.Internal.SqlServerLoggingDefinitions"; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.SqlServer/Query/Internal/SearchConditionConvertingExpressionVisitor.cs b/src/EFCore.SqlServer/Query/Internal/SearchConditionConvertingExpressionVisitor.cs index 55e64112f64..79637a931d4 100644 --- a/src/EFCore.SqlServer/Query/Internal/SearchConditionConvertingExpressionVisitor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SearchConditionConvertingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SearchConditionConvertingExpressionVisitor : SqlExpressionVisitor { private bool _isSearchCondition; diff --git a/src/EFCore.SqlServer/Query/Internal/SkipTakeCollapsingExpressionVisitor.cs b/src/EFCore.SqlServer/Query/Internal/SkipTakeCollapsingExpressionVisitor.cs index e80a86c1b6c..6ace7234a72 100644 --- a/src/EFCore.SqlServer/Query/Internal/SkipTakeCollapsingExpressionVisitor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SkipTakeCollapsingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SkipTakeCollapsingExpressionVisitor : ExpressionVisitor { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateFunctionExpression.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateFunctionExpression.cs index 5522799e3c6..17bf1cf9f42 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateFunctionExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateFunctionExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerAggregateFunctionExpression : SqlExpression { private static ConstructorInfo? _quotingConstructor; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateMethodCallTranslatorProvider.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateMethodCallTranslatorProvider.cs index 9973b859434..3dbb4f258a0 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateMethodCallTranslatorProvider.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerAggregateMethodCallTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerAggregateMethodCallTranslatorProvider : RelationalAggregateMethodCallTranslatorProvider { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerByteArrayMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerByteArrayMethodTranslator.cs index 2e0ef654ce2..ab1de264876 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerByteArrayMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerByteArrayMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerByteArrayMethodTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerCompiledQueryCacheKeyGenerator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerCompiledQueryCacheKeyGenerator.cs index 8e9ae41a40a..a30ad5667b0 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerCompiledQueryCacheKeyGenerator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerCompiledQueryCacheKeyGenerator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerCompiledQueryCacheKeyGenerator : RelationalCompiledQueryCacheKeyGenerator { private readonly ISqlServerConnection _sqlServerConnection; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerConvertTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerConvertTranslator.cs index edb8a73fd2a..bee32ada688 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerConvertTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerConvertTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerConvertTranslator : IMethodCallTranslator { private static readonly Dictionary TypeMapping = new() diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerDataLengthFunctionTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerDataLengthFunctionTranslator.cs index 37c4083eac8..e7d31810ccd 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerDataLengthFunctionTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerDataLengthFunctionTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDataLengthFunctionTranslator : IMethodCallTranslator { private static readonly List LongReturningTypes = diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerDateDiffFunctionsTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerDateDiffFunctionsTranslator.cs index 882c90edeac..aa168f3eb1f 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerDateDiffFunctionsTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerDateDiffFunctionsTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateDiffFunctionsTranslator : IMethodCallTranslator { private readonly Dictionary _methodInfoDateDiffMapping diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMemberTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMemberTranslator.cs index 4996e17b935..9a10c5d318b 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMemberTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateOnlyMemberTranslator : IMemberTranslator { private static readonly Dictionary DatePartMapping diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMethodTranslator.cs index 81e71d9d4ad..96b3760a311 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerDateOnlyMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateOnlyMethodTranslator : IMethodCallTranslator { private readonly Dictionary _methodInfoDatePartMapping = new() diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMemberTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMemberTranslator.cs index 5ce73b14346..5a0b02e9a46 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMemberTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateTimeMemberTranslator : IMemberTranslator { private static readonly Dictionary DatePartMapping diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMethodTranslator.cs index 3fe2b32e9d3..7a5b4fc1a6c 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerDateTimeMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateTimeMethodTranslator : IMethodCallTranslator { private readonly Dictionary _methodInfoDatePartMapping = new() diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerEvaluatableExpressionFilter.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerEvaluatableExpressionFilter.cs index 6677a3f6bc5..f0e32ccd1db 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerEvaluatableExpressionFilter.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerEvaluatableExpressionFilter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerEvaluatableExpressionFilter : RelationalEvaluatableExpressionFilter { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerExpression.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerExpression.cs index 2b08c3a36d7..e6f7ceed25f 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerFromPartsFunctionTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerFromPartsFunctionTranslator.cs index 69f664c3e43..5c7f67001e8 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerFromPartsFunctionTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerFromPartsFunctionTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerFromPartsFunctionTranslator : IMethodCallTranslator { private static readonly MethodInfo DateFromPartsMethodInfo = typeof(SqlServerDbFunctionsExtensions) diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerFullTextSearchFunctionsTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerFullTextSearchFunctionsTranslator.cs index d9ea4e6dc54..23df1e655cc 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerFullTextSearchFunctionsTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerFullTextSearchFunctionsTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerFullTextSearchFunctionsTranslator : IMethodCallTranslator { private const string FreeTextFunctionName = "FREETEXT"; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerIsDateFunctionTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerIsDateFunctionTranslator.cs index c0de67fdaac..f1fc6d983ae 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerIsDateFunctionTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerIsDateFunctionTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerIsDateFunctionTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerIsNumericFunctionTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerIsNumericFunctionTranslator.cs index e638d04633f..6dcd86fe89f 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerIsNumericFunctionTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerIsNumericFunctionTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerIsNumericFunctionTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerJsonPostprocessor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerJsonPostprocessor.cs index 161875f7a8b..bbcce90a28c 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerJsonPostprocessor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerJsonPostprocessor.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using Microsoft.EntityFrameworkCore.SqlServer.Internal; using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; @@ -22,6 +21,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerJsonPostprocessor : ExpressionVisitor { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerLongCountMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerLongCountMethodTranslator.cs index 5b92fb45731..b4a39db2a16 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerLongCountMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerLongCountMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerLongCountMethodTranslator : IAggregateMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerMathTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerMathTranslator.cs index 27d5f770bdd..679157ef830 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerMathTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerMathTranslator.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerMathTranslator : IMethodCallTranslator { private static readonly Dictionary SupportedMethodTranslations = new() diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerMemberTranslatorProvider.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerMemberTranslatorProvider.cs index a91de300fb0..14da455ff72 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerMemberTranslatorProvider.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerMemberTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerMemberTranslatorProvider : RelationalMemberTranslatorProvider { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerMethodCallTranslatorProvider.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerMethodCallTranslatorProvider.cs index f717eff25d8..7c6fdb7742c 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerMethodCallTranslatorProvider.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerMethodCallTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerMethodCallTranslatorProvider : RelationalMethodCallTranslatorProvider { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerNavigationExpansionExtensibilityHelper.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerNavigationExpansionExtensibilityHelper.cs index 72ae2e2ca6f..2ed6b8e9645 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerNavigationExpansionExtensibilityHelper.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerNavigationExpansionExtensibilityHelper.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNavigationExpansionExtensibilityHelper : NavigationExpansionExtensibilityHelper { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerNewGuidTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerNewGuidTranslator.cs index 65b7d074c31..a468e56c8d6 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerNewGuidTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerNewGuidTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerNewGuidTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo = typeof(Guid).GetRuntimeMethod(nameof(Guid.NewGuid), Type.EmptyTypes)!; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerObjectToStringTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerObjectToStringTranslator.cs index 8c1da2a7d0f..e1c9ae5a161 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerObjectToStringTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerObjectToStringTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerObjectToStringTranslator : IMethodCallTranslator { private const int DefaultLength = 100; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerOpenJsonExpression.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerOpenJsonExpression.cs index d38442ea81e..754f8862fb3 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerOpenJsonExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerOpenJsonExpression.cs @@ -20,6 +20,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerOpenJsonExpression : TableValuedFunctionExpression { private static ConstructorInfo? _quotingConstructor, _columnInfoQuotingConstructor; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessor.cs index bae646eed78..6cb0659888a 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerParameterBasedSqlProcessor : RelationalParameterBasedSqlProcessor { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessorFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessorFactory.cs index 0a887046f23..b6efb6d7d45 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessorFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerParameterBasedSqlProcessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerParameterBasedSqlProcessorFactory : IRelationalParameterBasedSqlProcessorFactory { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContext.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContext.cs index a5555d52ef7..a7166a15b2a 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContext.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryCompilationContext : RelationalQueryCompilationContext { private readonly bool _multipleActiveResultSetsEnabled; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContextFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContextFactory.cs index 30b1d39932c..4b719d464e4 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContextFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryCompilationContextFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryCompilationContextFactory : IQueryCompilationContextFactory { private readonly ISqlServerConnection _sqlServerConnection; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGenerator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGenerator.cs index 62594e04ca4..9384cced7d6 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGenerator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGenerator.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQuerySqlGenerator : QuerySqlGenerator { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGeneratorFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGeneratorFactory.cs index 2e1bd0e8643..96a8089cfb2 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGeneratorFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQuerySqlGeneratorFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQuerySqlGeneratorFactory : IQuerySqlGeneratorFactory { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryStringFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryStringFactory.cs index cd3c0f3fdd6..d56d7613170 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryStringFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryStringFactory.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryStringFactory : IRelationalQueryStringFactory { private readonly IRelationalTypeMappingSource _typeMapper; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessor.cs index 39ac30caf08..747fd5ce907 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessor.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; -using Microsoft.EntityFrameworkCore.Query.Internal; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using Microsoft.EntityFrameworkCore.SqlServer.Internal; @@ -14,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryTranslationPostprocessor : RelationalQueryTranslationPostprocessor { private readonly SqlServerJsonPostprocessor _jsonPostprocessor; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessorFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessorFactory.cs index e912edba794..36a5556b0c7 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessorFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryTranslationPostprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryTranslationPostprocessorFactory : IQueryTranslationPostprocessorFactory { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitor.cs index 3bedb9a1008..89cd8895263 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitor.cs @@ -1,13 +1,10 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; -using Microsoft.EntityFrameworkCore.Internal; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; using Microsoft.EntityFrameworkCore.SqlServer.Internal; using Microsoft.EntityFrameworkCore.SqlServer.Metadata.Internal; -using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; @@ -17,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryableMethodTranslatingExpressionVisitor : RelationalQueryableMethodTranslatingExpressionVisitor { private readonly SqlServerQueryCompilationContext _queryCompilationContext; @@ -268,7 +266,7 @@ protected override Expression VisitExtension(Expression extensionExpression) var isElementNullable = property?.GetElementType()!.IsNullable; var keyColumnTypeMapping = _typeMappingSource.FindMapping("nvarchar(4000)")!; -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. var selectExpression = new SelectExpression( [openJsonExpression], new ColumnExpression( @@ -279,7 +277,7 @@ protected override Expression VisitExtension(Expression extensionExpression) isElementNullable ?? elementClrType.IsNullableType()), identifier: [(new ColumnExpression("key", tableAlias, typeof(string), keyColumnTypeMapping, nullable: false), keyColumnTypeMapping.Comparer)], _queryCompilationContext.SqlAliasManager); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // OPENJSON doesn't guarantee the ordering of the elements coming out; when using OPENJSON without WITH, a [key] column is returned // with the JSON array's ordering, which we can ORDER BY; this option doesn't exist with OPENJSON with WITH, unfortunately. @@ -374,14 +372,14 @@ protected override ShapedQueryExpression TransformJsonQueryToTable(JsonQueryExpr var openJsonExpression = new SqlServerOpenJsonExpression( tableAlias, jsonQueryExpression.JsonColumn, jsonQueryExpression.Path, columnInfos); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. var selectExpression = CreateSelect( jsonQueryExpression, openJsonExpression, "key", typeof(string), _typeMappingSource.FindMapping("nvarchar(4000)")!); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9902 // See note on OPENJSON and ordering in TranslateCollection selectExpression.AppendOrdering( @@ -443,9 +441,9 @@ protected override ShapedQueryExpression TransformJsonQueryToTable(JsonQueryExpr && projectionTableAlias == openJsonExpression.Alias) { var newInExpression = _sqlExpressionFactory.In(translatedItem, parameter); -#pragma warning disable EF1001 +#pragma warning disable EF9902 // Internal EF Core relational API usage. return source.UpdateQueryExpression(new SelectExpression(newInExpression, _queryCompilationContext.SqlAliasManager)); -#pragma warning restore EF1001 +#pragma warning restore EF9902 } return translatedSource; @@ -528,10 +526,10 @@ protected override ShapedQueryExpression TransformJsonQueryToTable(JsonQueryExpr projection.TypeMapping, projectionColumn.IsNullable); -#pragma warning disable EF1001 +#pragma warning disable EF9902 // Internal EF Core relational API usage. return source.UpdateQueryExpression( new SelectExpression(translation, _queryCompilationContext.SqlAliasManager)); -#pragma warning restore EF1001 +#pragma warning restore EF9902 } } } diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitorFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitorFactory.cs index f8c045a5e72..f417d78c375 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerQueryableMethodTranslatingExpressionVisitorFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerQueryableMethodTranslatingExpressionVisitorFactory : IQueryableMethodTranslatingExpressionVisitorFactory { private readonly ISqlServerSingletonOptions _sqlServerSingletonOptions; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlExpressionFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlExpressionFactory.cs index da4f7fa9856..eebd8630274 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlExpressionFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlExpressionFactory.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal; @@ -13,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlExpressionFactory : SqlExpressionFactory { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlNullabilityProcessor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlNullabilityProcessor.cs index 1696821a4e3..0bc6138d560 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlNullabilityProcessor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlNullabilityProcessor.cs @@ -1,8 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Collections; -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; @@ -13,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlNullabilityProcessor : SqlNullabilityProcessor { /// @@ -116,7 +115,7 @@ protected virtual SqlExpression VisitSqlServerAggregateFunction( protected override bool PreferExistsToInWithCoalesce => true; -#pragma warning disable EF1001 +#pragma warning disable EF9902 // Internal EF Core relational API usage. /// /// 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 @@ -146,5 +145,5 @@ protected override TableExpressionBase UpdateParameterCollection( => table is SqlServerOpenJsonExpression { Arguments: [SqlParameterExpression] } openJsonExpression ? openJsonExpression.Update(newCollectionParameter, path: null) : base.UpdateParameterCollection(table, newCollectionParameter); -#pragma warning restore EF1001 +#pragma warning restore EF9902 // Internal EF Core relational API usage. } diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitor.cs index c3cb7f851b2..2516528aee6 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitor.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Text; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; @@ -15,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlTranslatingExpressionVisitor : RelationalSqlTranslatingExpressionVisitor { private readonly SqlServerQueryCompilationContext _queryCompilationContext; @@ -447,9 +447,9 @@ protected override bool TryTranslateAggregateMethodCall( var previousInAggregateFunction = _queryCompilationContext.InAggregateFunction; _queryCompilationContext.InAggregateFunction = true; -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. var result = base.TryTranslateAggregateMethodCall(methodCallExpression, out translation); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9902 _queryCompilationContext.InAggregateFunction = previousInAggregateFunction; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitorFactory.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitorFactory.cs index e038210d2cd..cd95e76f04b 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTranslatingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlTranslatingExpressionVisitorFactory : IRelationalSqlTranslatingExpressionVisitorFactory { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTreePruner.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTreePruner.cs index 48af433f3b9..e68969baf25 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTreePruner.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerSqlTreePruner.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlTreePruner : SqlTreePruner { /// diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerStatisticsAggregateMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerStatisticsAggregateMethodTranslator.cs index 560ab361423..78ce91304fa 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerStatisticsAggregateMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerStatisticsAggregateMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerStatisticsAggregateMethodTranslator : IAggregateMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerStringAggregateMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerStringAggregateMethodTranslator.cs index 113882f312f..6d97eb7025b 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerStringAggregateMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerStringAggregateMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerStringAggregateMethodTranslator : IAggregateMethodCallTranslator { private static readonly MethodInfo StringConcatMethod diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerStringMemberTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerStringMemberTranslator.cs index befa6f2c79e..66e36cdb761 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerStringMemberTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerStringMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerStringMemberTranslator : IMemberTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerStringMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerStringMethodTranslator.cs index 24cf719c2f2..560d2f1b8ad 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerStringMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerStringMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerStringMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo IndexOfMethodInfo diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMemberTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMemberTranslator.cs index 5b1309812ac..a288e95f3c0 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMemberTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTimeOnlyMemberTranslator : IMemberTranslator { private static readonly Dictionary DatePartMappings = new() diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMethodTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMethodTranslator.cs index fbc944fcae5..39957a01d9c 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMethodTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerTimeOnlyMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTimeOnlyMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo AddHoursMethod = typeof(TimeOnly).GetRuntimeMethod( diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerTimeSpanMemberTranslator.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerTimeSpanMemberTranslator.cs index 02e1d312860..af3d14949b5 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerTimeSpanMemberTranslator.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerTimeSpanMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTimeSpanMemberTranslator : IMemberTranslator { private static readonly Dictionary DatePartMappings = new() diff --git a/src/EFCore.SqlServer/Query/Internal/SqlServerTypeMappingPostprocessor.cs b/src/EFCore.SqlServer/Query/Internal/SqlServerTypeMappingPostprocessor.cs index aa13da2fbc6..ff076c0f4c3 100644 --- a/src/EFCore.SqlServer/Query/Internal/SqlServerTypeMappingPostprocessor.cs +++ b/src/EFCore.SqlServer/Query/Internal/SqlServerTypeMappingPostprocessor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTypeMappingPostprocessor : RelationalTypeMappingPostprocessor { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalAllQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalAllQueryRootExpression.cs index 8e8bc58cd63..ae2265392b7 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalAllQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalAllQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class TemporalAllQueryRootExpression : TemporalQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalAsOfQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalAsOfQueryRootExpression.cs index 025f16eac29..90fb994511a 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalAsOfQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalAsOfQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class TemporalAsOfQueryRootExpression : TemporalQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalBetweenQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalBetweenQueryRootExpression.cs index 3de37ca9ec3..c097bb3a304 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalBetweenQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalBetweenQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class TemporalBetweenQueryRootExpression : TemporalRangeQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalContainedInQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalContainedInQueryRootExpression.cs index 26ba1c3f584..b440e8ecca7 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalContainedInQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalContainedInQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class TemporalContainedInQueryRootExpression : TemporalRangeQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalFromToQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalFromToQueryRootExpression.cs index f09ecb75cce..62bd4fd1d6f 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalFromToQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalFromToQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class TemporalFromToQueryRootExpression : TemporalRangeQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalOperationType.cs b/src/EFCore.SqlServer/Query/Internal/TemporalOperationType.cs index 5800cce11d7..96c9e3c92ed 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalOperationType.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalOperationType.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public enum TemporalOperationType { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalQueryRootExpression.cs index 5fbd7241d42..faaf61e3b8e 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public abstract class TemporalQueryRootExpression : EntityQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Query/Internal/TemporalRangeQueryRootExpression.cs b/src/EFCore.SqlServer/Query/Internal/TemporalRangeQueryRootExpression.cs index f5f164e3765..2b79867cb34 100644 --- a/src/EFCore.SqlServer/Query/Internal/TemporalRangeQueryRootExpression.cs +++ b/src/EFCore.SqlServer/Query/Internal/TemporalRangeQueryRootExpression.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public abstract class TemporalRangeQueryRootExpression : TemporalQueryRootExpression { /// diff --git a/src/EFCore.SqlServer/Scaffolding/Internal/SqlDataReaderExtension.cs b/src/EFCore.SqlServer/Scaffolding/Internal/SqlDataReaderExtension.cs index e137ac11a00..d25f854b906 100644 --- a/src/EFCore.SqlServer/Scaffolding/Internal/SqlDataReaderExtension.cs +++ b/src/EFCore.SqlServer/Scaffolding/Internal/SqlDataReaderExtension.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlDataReaderExtension { /// diff --git a/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerCodeGenerator.cs b/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerCodeGenerator.cs index 13f6fbd0b5a..3be4a4c0fb4 100644 --- a/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerCodeGenerator.cs +++ b/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerCodeGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerCodeGenerator : ProviderCodeGenerator { private static readonly MethodInfo UseSqlServerMethodInfo diff --git a/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs b/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs index f1ed6e8e4c7..9499b0d824f 100644 --- a/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs +++ b/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Data; -using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Text; using System.Text.RegularExpressions; @@ -20,6 +19,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDatabaseModelFactory : DatabaseModelFactory { private readonly IDiagnosticsLogger _logger; diff --git a/src/EFCore.SqlServer/Storage/Internal/ISqlServerConnection.cs b/src/EFCore.SqlServer/Storage/Internal/ISqlServerConnection.cs index 725aca488ab..2e613908a07 100644 --- a/src/EFCore.SqlServer/Storage/Internal/ISqlServerConnection.cs +++ b/src/EFCore.SqlServer/Storage/Internal/ISqlServerConnection.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqlServerConnection : IRelationalConnection { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerBoolTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerBoolTypeMapping.cs index ab8558ba366..f1e179c5ed3 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerBoolTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerBoolTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerBoolTypeMapping : BoolTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerByteArrayTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerByteArrayTypeMapping.cs index 961c077bfac..2a1881b81b8 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerByteArrayTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerByteArrayTypeMapping.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerByteArrayTypeMapping : ByteArrayTypeMapping { private const int MaxSize = 8000; diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerByteTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerByteTypeMapping.cs index 8fdcd1ecb7d..3d0162caea0 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerByteTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerByteTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerByteTypeMapping : ByteTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs index 1383888a3ad..eb4aa761671 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerConnection : RelationalConnection, ISqlServerConnection { // Compensate for slow SQL Server database creation diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs index 589440790a1..dc1574c4e37 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDatabaseCreator : RelationalDatabaseCreator { private readonly ISqlServerConnection _connection; diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateOnlyTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateOnlyTypeMapping.cs index 3d90bf1dc81..23fc7236484 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateOnlyTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateOnlyTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateOnlyTypeMapping : DateOnlyTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeOffsetTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeOffsetTypeMapping.cs index a6e5b846b59..182c6805987 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeOffsetTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeOffsetTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateTimeOffsetTypeMapping : DateTimeOffsetTypeMapping { // Note: this array will be accessed using the precision as an index diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs index 7b7d58f5241..dbe9b5bba0a 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDateTimeTypeMapping : DateTimeTypeMapping { private const string DateFormatConst = "'{0:yyyy-MM-dd}'"; diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDecimalTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDecimalTypeMapping.cs index 1ac62cfe7c0..e43c179e691 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDecimalTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDecimalTypeMapping.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDecimalTypeMapping : DecimalTypeMapping { private readonly SqlDbType? _sqlDbType; diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDoubleTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDoubleTypeMapping.cs index 5a21ce8a90d..ccf2267f687 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDoubleTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDoubleTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerDoubleTypeMapping : DoubleTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerExceptionDetector.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerExceptionDetector.cs index 99c5ed360ff..9da29c0bc95 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerExceptionDetector.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerExceptionDetector.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerExceptionDetector : IExceptionDetector { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategy.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategy.cs index 662964e61ab..e1f1693da2e 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategy.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategy.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerExecutionStrategy : IExecutionStrategy { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategyFactory.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategyFactory.cs index 73f9ce3e03f..98874c8d446 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategyFactory.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategyFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerExecutionStrategyFactory : RelationalExecutionStrategyFactory { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerFloatTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerFloatTypeMapping.cs index 0117d53da21..edad813d760 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerFloatTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerFloatTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerFloatTypeMapping : FloatTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerJsonTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerJsonTypeMapping.cs index 8f6e7923d3a..3c51172429b 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerJsonTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerJsonTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerJsonTypeMapping : JsonTypeMapping { private static readonly MethodInfo GetStringMethod diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerLongTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerLongTypeMapping.cs index 6b3728eca6e..c0308a23c72 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerLongTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerLongTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerLongTypeMapping : LongTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerShortTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerShortTypeMapping.cs index 443f84fa628..5d95ec0b89a 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerShortTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerShortTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerShortTypeMapping : ShortTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlGenerationHelper.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlGenerationHelper.cs index abfa825bfee..a7918b32ac1 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlGenerationHelper.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlGenerationHelper.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlGenerationHelper : RelationalSqlGenerationHelper { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlVariantTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlVariantTypeMapping.cs index b5c1f276f40..d6bb3f0eb6d 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlVariantTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerSqlVariantTypeMapping.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSqlVariantTypeMapping : RelationalTypeMapping { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerStringTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerStringTypeMapping.cs index 7d3d6f724e0..649115a849a 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerStringTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerStringTypeMapping.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerStringTypeMapping : StringTypeMapping { private const int UnicodeMax = 4000; diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeOnlyTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeOnlyTypeMapping.cs index f32dbbcd37e..b9c058ec8bd 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeOnlyTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeOnlyTypeMapping.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTimeOnlyTypeMapping : TimeOnlyTypeMapping { // Note: this array will be accessed using the precision as an index diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs index 7b8c22ea71f..d433c93b59a 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTimeSpanTypeMapping : TimeSpanTypeMapping { // Note: this array will be accessed using the precision as an index diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransaction.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransaction.cs index 03b61af847a..88ca4bd67cc 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransaction.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransaction.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTransaction : RelationalTransaction { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransactionFactory.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransactionFactory.cs index 3c365298f2c..33aca9dfa8f 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransactionFactory.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransactionFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTransactionFactory : IRelationalTransactionFactory { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs index 6b11941e6b3..38f9693decf 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// /// Detects the exceptions caused by SQL Server transient failures. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqlServerTransientExceptionDetector { /// diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTypeMappingSource.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTypeMappingSource.cs index be70a79a7af..1842289b6cc 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTypeMappingSource.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTypeMappingSource.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerTypeMappingSource : RelationalTypeMappingSource { private static readonly SqlServerFloatTypeMapping RealAlias diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerUdtTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerUdtTypeMapping.cs index 26ea97439ed..70cc29b5f51 100644 --- a/src/EFCore.SqlServer/Storage/Internal/SqlServerUdtTypeMapping.cs +++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerUdtTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerUdtTypeMapping : RelationalTypeMapping { private static Action? _udtTypeNameSetter; diff --git a/src/EFCore.SqlServer/Update/Internal/ISqlServerUpdateSqlGenerator.cs b/src/EFCore.SqlServer/Update/Internal/ISqlServerUpdateSqlGenerator.cs index c7f92fb002a..96b63d9437c 100644 --- a/src/EFCore.SqlServer/Update/Internal/ISqlServerUpdateSqlGenerator.cs +++ b/src/EFCore.SqlServer/Update/Internal/ISqlServerUpdateSqlGenerator.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Update.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqlServerUpdateSqlGenerator : IUpdateSqlGenerator { /// diff --git a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommand.cs b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommand.cs index 7f46d58d144..950b88650d2 100644 --- a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommand.cs +++ b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommand.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerModificationCommand : ModificationCommand { /// diff --git a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatch.cs b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatch.cs index 4b87c123ec6..e9b495f6120 100644 --- a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatch.cs +++ b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatch.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerModificationCommandBatch : AffectedCountModificationCommandBatch { // https://docs.microsoft.com/sql/sql-server/maximum-capacity-specifications-for-sql-server diff --git a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatchFactory.cs b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatchFactory.cs index bf2f09f8210..cb54f8233ab 100644 --- a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatchFactory.cs +++ b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatchFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerModificationCommandBatchFactory : IModificationCommandBatchFactory { private const int DefaultMaxBatchSize = 42; diff --git a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandFactory.cs b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandFactory.cs index 1c68982b747..d1d11128d73 100644 --- a/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandFactory.cs +++ b/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerModificationCommandFactory : IModificationCommandFactory { /// diff --git a/src/EFCore.SqlServer/Update/Internal/SqlServerUpdateSqlGenerator.cs b/src/EFCore.SqlServer/Update/Internal/SqlServerUpdateSqlGenerator.cs index 9cef4d8619d..cdeb1ea36d6 100644 --- a/src/EFCore.SqlServer/Update/Internal/SqlServerUpdateSqlGenerator.cs +++ b/src/EFCore.SqlServer/Update/Internal/SqlServerUpdateSqlGenerator.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerUpdateSqlGenerator : UpdateAndSelectSqlGenerator, ISqlServerUpdateSqlGenerator { /// diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerSequenceValueGeneratorFactory.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerSequenceValueGeneratorFactory.cs index f76018dc6fb..5e32c76fece 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerSequenceValueGeneratorFactory.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerSequenceValueGeneratorFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqlServerSequenceValueGeneratorFactory { /// diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerValueGeneratorCache.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerValueGeneratorCache.cs index 7548daad63c..075e6a289e6 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerValueGeneratorCache.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/ISqlServerValueGeneratorCache.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqlServerValueGeneratorCache : IValueGeneratorCache { /// diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceHiLoValueGenerator.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceHiLoValueGenerator.cs index 852cb1539fa..a5b1deb92f1 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceHiLoValueGenerator.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceHiLoValueGenerator.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSequenceHiLoValueGenerator : HiLoValueGenerator { private readonly IRawSqlCommandBuilder _rawSqlCommandBuilder; diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorFactory.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorFactory.cs index cd993a68906..a44ad2aa015 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorFactory.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSequenceValueGeneratorFactory : ISqlServerSequenceValueGeneratorFactory { private readonly ISqlServerUpdateSqlGenerator _sqlGenerator; diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorState.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorState.cs index 61b6e678afe..a5b1b24ab46 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorState.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerSequenceValueGeneratorState.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerSequenceValueGeneratorState : HiLoValueGeneratorState { /// diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorCache.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorCache.cs index 8278993c131..9b6f21aeb15 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorCache.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorCache.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerValueGeneratorCache : ValueGeneratorCache, ISqlServerValueGeneratorCache { private readonly ConcurrentDictionary _sequenceGeneratorCache = new(); diff --git a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorSelector.cs b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorSelector.cs index e6dac7ad70a..b29956127c9 100644 --- a/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorSelector.cs +++ b/src/EFCore.SqlServer/ValueGeneration/Internal/SqlServerValueGeneratorSelector.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlServerValueGeneratorSelector : RelationalValueGeneratorSelector { private readonly ISqlServerSequenceValueGeneratorFactory _sequenceFactory; diff --git a/src/EFCore.Sqlite.Core/Design/Internal/SqliteCSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore.Sqlite.Core/Design/Internal/SqliteCSharpRuntimeAnnotationCodeGenerator.cs index 226ec885c1e..43dfb3c30dd 100644 --- a/src/EFCore.Sqlite.Core/Design/Internal/SqliteCSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore.Sqlite.Core/Design/Internal/SqliteCSharpRuntimeAnnotationCodeGenerator.cs @@ -12,7 +12,9 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Design.Internal; /// 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. /// -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteCSharpRuntimeAnnotationCodeGenerator : RelationalCSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore.Sqlite.Core/Design/Internal/SqliteDesignTimeServices.cs b/src/EFCore.Sqlite.Core/Design/Internal/SqliteDesignTimeServices.cs index 0ed5c42dfb4..e91f198fe9a 100644 --- a/src/EFCore.Sqlite.Core/Design/Internal/SqliteDesignTimeServices.cs +++ b/src/EFCore.Sqlite.Core/Design/Internal/SqliteDesignTimeServices.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDesignTimeServices : IDesignTimeServices { /// @@ -25,10 +26,10 @@ public class SqliteDesignTimeServices : IDesignTimeServices public virtual void ConfigureDesignTimeServices(IServiceCollection serviceCollection) { serviceCollection.AddEntityFrameworkSqlite(); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9901 // Internal EF Core API usage. new EntityFrameworkRelationalDesignServicesBuilder(serviceCollection) .TryAdd() -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9901 .TryAdd() .TryAdd() .TryAddCoreServices(); diff --git a/src/EFCore.Sqlite.Core/Diagnostics/Internal/SqliteLoggingDefinitions.cs b/src/EFCore.Sqlite.Core/Diagnostics/Internal/SqliteLoggingDefinitions.cs index 493c1b531de..3c806e28203 100644 --- a/src/EFCore.Sqlite.Core/Diagnostics/Internal/SqliteLoggingDefinitions.cs +++ b/src/EFCore.Sqlite.Core/Diagnostics/Internal/SqliteLoggingDefinitions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteLoggingDefinitions : RelationalLoggingDefinitions { /// diff --git a/src/EFCore.Sqlite.Core/Diagnostics/Internal/TableRebuildEventData.cs b/src/EFCore.Sqlite.Core/Diagnostics/Internal/TableRebuildEventData.cs index 90770f8b882..e817d4bd93d 100644 --- a/src/EFCore.Sqlite.Core/Diagnostics/Internal/TableRebuildEventData.cs +++ b/src/EFCore.Sqlite.Core/Diagnostics/Internal/TableRebuildEventData.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class TableRebuildEventData : EventData { /// diff --git a/src/EFCore.Sqlite.Core/Diagnostics/Internal/UnexpectedConnectionTypeEventData.cs b/src/EFCore.Sqlite.Core/Diagnostics/Internal/UnexpectedConnectionTypeEventData.cs index 1c1b22ced29..b4fb103a4d3 100644 --- a/src/EFCore.Sqlite.Core/Diagnostics/Internal/UnexpectedConnectionTypeEventData.cs +++ b/src/EFCore.Sqlite.Core/Diagnostics/Internal/UnexpectedConnectionTypeEventData.cs @@ -7,6 +7,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Diagnostics.Internal; /// The event payload for /// . /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class UnexpectedConnectionTypeEventData : EventData { /// diff --git a/src/EFCore.Sqlite.Core/EFCore.Sqlite.Core.csproj b/src/EFCore.Sqlite.Core/EFCore.Sqlite.Core.csproj index 4b82a88a403..666894d8ca7 100644 --- a/src/EFCore.Sqlite.Core/EFCore.Sqlite.Core.csproj +++ b/src/EFCore.Sqlite.Core/EFCore.Sqlite.Core.csproj @@ -10,12 +10,14 @@ true $(PackageTags);SQLite true - EF1003 + $(NoWarn);EF9999 + $(NoWarn);EF1003 + diff --git a/src/EFCore.Sqlite.Core/Extensions/Internal/SqliteLoggerExtensions.cs b/src/EFCore.Sqlite.Core/Extensions/Internal/SqliteLoggerExtensions.cs index 99e3ad2f16a..0705a031740 100644 --- a/src/EFCore.Sqlite.Core/Extensions/Internal/SqliteLoggerExtensions.cs +++ b/src/EFCore.Sqlite.Core/Extensions/Internal/SqliteLoggerExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqliteLoggerExtensions { /// diff --git a/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteModelValidator.cs b/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteModelValidator.cs index d601b461a1f..d0f2b389ddd 100644 --- a/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteModelValidator.cs +++ b/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteModelValidator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteModelValidator : RelationalModelValidator { /// diff --git a/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteOptionsExtension.cs b/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteOptionsExtension.cs index 5b75e78268f..a35759ced22 100644 --- a/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteOptionsExtension.cs +++ b/src/EFCore.Sqlite.Core/Infrastructure/Internal/SqliteOptionsExtension.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteOptionsExtension : RelationalOptionsExtension { private DbContextOptionsExtensionInfo? _info; diff --git a/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationNames.cs b/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationNames.cs index 6e74bb68d4e..6ed2b829bca 100644 --- a/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationNames.cs +++ b/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationNames.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqliteAnnotationNames { /// diff --git a/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationProvider.cs b/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationProvider.cs index 51aeb3bf830..1a8a5bc02f8 100644 --- a/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationProvider.cs +++ b/src/EFCore.Sqlite.Core/Metadata/Internal/SqliteAnnotationProvider.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteAnnotationProvider : RelationalAnnotationProvider { /// @@ -59,10 +60,12 @@ public override IEnumerable For(IColumn column, bool designTime) } // JSON columns have no property mappings so all annotations that rely on property mappings should be skipped for them +#pragma warning disable EF9902 // Internal EF Core relational API usage. if (column is JsonColumn) { yield break; } +#pragma warning restore EF9902 // Model validation ensures that these facets are the same on all mapped properties var property = column.PropertyMappings.First().Property; diff --git a/src/EFCore.Sqlite.Core/Migrations/Internal/SqliteHistoryRepository.cs b/src/EFCore.Sqlite.Core/Migrations/Internal/SqliteHistoryRepository.cs index 1d0a57fd312..1427c50b6cb 100644 --- a/src/EFCore.Sqlite.Core/Migrations/Internal/SqliteHistoryRepository.cs +++ b/src/EFCore.Sqlite.Core/Migrations/Internal/SqliteHistoryRepository.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Migrations.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteHistoryRepository : HistoryRepository { /// diff --git a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs index ad9b744b236..1a7eab92abe 100644 --- a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs +++ b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqliteStrings { private static readonly ResourceManager _resourceManager @@ -124,6 +125,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqliteResources { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.tt b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.tt index f62faff4f76..0a8d3247c75 100644 --- a/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.tt +++ b/src/EFCore.Sqlite.Core/Properties/SqliteStrings.Designer.tt @@ -3,5 +3,6 @@ Session["ResourceFile"] = "SqliteStrings.resx"; Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Sqlite.Properties"; Session["LoggingDefinitionsClass"] = "Diagnostics.Internal.SqliteLoggingDefinitions"; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteAggregateMethodCallTranslatorProvider.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteAggregateMethodCallTranslatorProvider.cs index c67a66cc171..615ec2dc572 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteAggregateMethodCallTranslatorProvider.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteAggregateMethodCallTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteAggregateMethodCallTranslatorProvider : RelationalAggregateMethodCallTranslatorProvider { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteByteArrayMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteByteArrayMethodTranslator.cs index 4edcc6bbca6..fc0496354c7 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteByteArrayMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteByteArrayMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteByteArrayMethodTranslator : IMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteCharMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteCharMethodTranslator.cs index 6f53f739cfa..cb7602ee629 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteCharMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteCharMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteCharMethodTranslator : IMethodCallTranslator { private static readonly Dictionary SupportedMethods = new() diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMemberTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMemberTranslator.cs index ba2e7cce2c8..5ca4ce7e164 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMemberTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateOnlyMemberTranslator : IMemberTranslator { private static readonly Dictionary DatePartMapping diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMethodTranslator.cs index 4b575545f6c..89d46643755 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateOnlyMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateOnlyMethodTranslator : IMethodCallTranslator { private readonly SqliteSqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMemberTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMemberTranslator.cs index e9d9573f6e0..b87ae4ad1e7 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMemberTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMemberTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateTimeMemberTranslator : IMemberTranslator { private static readonly Dictionary DatePartMapping diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMethodTranslator.cs index 334766d648a..5cf0d11e3bf 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteDateTimeMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateTimeMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo AddMilliseconds diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteGlobMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteGlobMethodTranslator.cs index a944a510606..dc1854df26d 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteGlobMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteGlobMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGlobMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo = typeof(SqliteDbFunctionsExtensions) diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteHexMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteHexMethodTranslator.cs index 12317865dd7..dfcda753252 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteHexMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteHexMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteHexMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo HexMethodInfo = typeof(SqliteDbFunctionsExtensions) diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteMathTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteMathTranslator.cs index 95c53133fd3..857a0da22c9 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteMathTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteMathTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteMathTranslator : IMethodCallTranslator { private static readonly Dictionary SupportedMethods = new() diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteMemberTranslatorProvider.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteMemberTranslatorProvider.cs index 5fd49b8150f..7ce1648c093 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteMemberTranslatorProvider.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteMemberTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteMemberTranslatorProvider : RelationalMemberTranslatorProvider { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteMethodCallTranslatorProvider.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteMethodCallTranslatorProvider.cs index 4439b55be80..c3b1057a17d 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteMethodCallTranslatorProvider.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteMethodCallTranslatorProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteMethodCallTranslatorProvider : RelationalMethodCallTranslatorProvider { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteObjectToStringTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteObjectToStringTranslator.cs index 2911c5b004f..c8da78b9267 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteObjectToStringTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteObjectToStringTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteObjectToStringTranslator : IMethodCallTranslator { private static readonly HashSet TypeMapping = diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessor.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessor.cs index 7d04f8c8716..3746c2ec5af 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessor.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteParameterBasedSqlProcessor : RelationalParameterBasedSqlProcessor { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessorFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessorFactory.cs index 667ba2c6e35..529b293db31 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessorFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteParameterBasedSqlProcessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteParameterBasedSqlProcessorFactory : IRelationalParameterBasedSqlProcessorFactory { private readonly RelationalParameterBasedSqlProcessorDependencies _dependencies; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGenerator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGenerator.cs index f92325f70b2..a08fde28189 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGenerator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGenerator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQuerySqlGenerator : QuerySqlGenerator { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGeneratorFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGeneratorFactory.cs index df978876c75..32baecafcb9 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGeneratorFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQuerySqlGeneratorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQuerySqlGeneratorFactory : IQuerySqlGeneratorFactory { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryStringFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryStringFactory.cs index 6619cd14e4b..192cb4d869d 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryStringFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryStringFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQueryStringFactory : IRelationalQueryStringFactory { private readonly IRelationalTypeMappingSource _typeMapper; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessor.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessor.cs index da19cd424eb..a1ac4d46d14 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessor.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQueryTranslationPostprocessor : RelationalQueryTranslationPostprocessor { private readonly ApplyValidatingVisitor _applyValidator = new(); diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessorFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessorFactory.cs index 6699738c1d4..15341eb05f9 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessorFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryTranslationPostprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQueryTranslationPostprocessorFactory : IQueryTranslationPostprocessorFactory { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableAggregateMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableAggregateMethodTranslator.cs index 77a4dd7bf94..2c3188acd31 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableAggregateMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableAggregateMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQueryableAggregateMethodTranslator : IAggregateMethodCallTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitor.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitor.cs index dc9d782e20d..56b38a6e7ce 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitor.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitor.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQueryableMethodTranslatingExpressionVisitor : RelationalQueryableMethodTranslatingExpressionVisitor { private readonly IRelationalTypeMappingSource _typeMappingSource; @@ -29,7 +30,7 @@ public class SqliteQueryableMethodTranslatingExpressionVisitor : RelationalQuery /// 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. /// - [EntityFrameworkInternal] // https://www.sqlite.org/json1.html#jeach + [Experimental(EFDiagnostics.ProviderInternalUsage)] // https://www.sqlite.org/json1.html#jeach public const string JsonEachKeyColumnName = "key"; /// @@ -38,7 +39,7 @@ public class SqliteQueryableMethodTranslatingExpressionVisitor : RelationalQuery /// 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. /// - [EntityFrameworkInternal] // https://www.sqlite.org/json1.html#jeach + [Experimental(EFDiagnostics.ProviderInternalUsage)] // https://www.sqlite.org/json1.html#jeach public const string JsonEachValueColumnName = "value"; /// @@ -116,9 +117,9 @@ protected override QueryableMethodTranslatingExpressionVisitor CreateSubqueryVis typeof(int)), _sqlExpressionFactory.Constant(0)); -#pragma warning disable EF1001 +#pragma warning disable EF9902 // Internal EF Core relational API usage. return source.UpdateQueryExpression(new SelectExpression(translation, _sqlAliasManager)); -#pragma warning restore EF1001 +#pragma warning restore EF9902 } return base.TranslateAny(source, predicate); @@ -213,9 +214,9 @@ protected override QueryableMethodTranslatingExpressionVisitor CreateSubqueryVis argumentsPropagateNullability: new[] { true }, typeof(int)); -#pragma warning disable EF1001 +#pragma warning disable EF9902 // Internal EF Core relational API usage. return source.UpdateQueryExpression(new SelectExpression(translation, _sqlAliasManager)); -#pragma warning restore EF1001 +#pragma warning restore EF9902 } return base.TranslateCount(source, predicate); @@ -253,7 +254,7 @@ protected override QueryableMethodTranslatingExpressionVisitor CreateSubqueryVis var keyColumnTypeMapping = _typeMappingSource.FindMapping(typeof(int))!; -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. var selectExpression = new SelectExpression( [jsonEachExpression], new ColumnExpression( @@ -264,7 +265,7 @@ protected override QueryableMethodTranslatingExpressionVisitor CreateSubqueryVis isElementNullable ?? elementClrType.IsNullableType()), identifier: [(new ColumnExpression(JsonEachKeyColumnName, tableAlias, typeof(int), keyColumnTypeMapping, nullable: false), keyColumnTypeMapping.Comparer)], _sqlAliasManager); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9902 // If we have a collection column, we know the type mapping at this point (as opposed to parameters, whose type mapping will get // inferred later based on usage in SqliteInferredTypeMappingApplier); we should be able to apply any SQL logic needed to convert @@ -339,14 +340,14 @@ protected override ShapedQueryExpression TransformJsonQueryToTable(JsonQueryExpr var jsonEachExpression = new JsonEachExpression(tableAlias, jsonQueryExpression.JsonColumn, jsonQueryExpression.Path); -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. var selectExpression = CreateSelect( jsonQueryExpression, jsonEachExpression, JsonEachKeyColumnName, typeof(int), _typeMappingSource.FindMapping(typeof(int))!); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9902 selectExpression.AppendOrdering( new OrderingExpression( @@ -417,14 +418,14 @@ protected override ShapedQueryExpression TransformJsonQueryToTable(JsonQueryExpr selectExpression.PushdownIntoSubquery(); var subquery = selectExpression.Tables[0]; -#pragma warning disable EF1001 // Internal EF Core API usage. +#pragma warning disable EF9902 // Internal EF Core relational API usage. var newOuterSelectExpression = CreateSelect( jsonQueryExpression, subquery, JsonEachKeyColumnName, typeof(int), _typeMappingSource.FindMapping(typeof(int))!); -#pragma warning restore EF1001 // Internal EF Core API usage. +#pragma warning restore EF9902 newOuterSelectExpression.AppendOrdering( new OrderingExpression( @@ -507,9 +508,9 @@ protected override ShapedQueryExpression TransformJsonQueryToTable(JsonQueryExpr translation, _sqlExpressionFactory, projectionColumn.TypeMapping, projectionColumn.IsNullable); } -#pragma warning disable EF1001 +#pragma warning disable EF9902 // Internal EF Core relational API usage. return source.UpdateQueryExpression(new SelectExpression(translation, _sqlAliasManager)); -#pragma warning restore EF1001 +#pragma warning restore EF9902 } } @@ -562,7 +563,7 @@ private static Type GetProviderType(SqlExpression expression) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static SqlExpression ApplyJsonSqlConversion( SqlExpression expression, SqliteSqlExpressionFactory sqlExpressionFactory, diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitorFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitorFactory.cs index 5cb7e2dab7a..03c0ca592d2 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteQueryableMethodTranslatingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteQueryableMethodTranslatingExpressionVisitorFactory : IQueryableMethodTranslatingExpressionVisitorFactory { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteRandomTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteRandomTranslator.cs index 65fe88c05f4..89d3353e85f 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteRandomTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteRandomTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteRandomTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteRegexMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteRegexMethodTranslator.cs index 443dceea9b7..a343eaccb33 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteRegexMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteRegexMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteRegexMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo RegexIsMatchMethodInfo diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlExpressionFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlExpressionFactory.cs index dfc72ae6b1f..0378c74c358 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlExpressionFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlExpressionFactory.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using Microsoft.EntityFrameworkCore.Sqlite.Query.SqlExpressions.Internal; using ExpressionExtensions = Microsoft.EntityFrameworkCore.Query.ExpressionExtensions; @@ -14,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteSqlExpressionFactory : SqlExpressionFactory { private readonly RelationalTypeMapping _boolTypeMapping; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlNullabilityProcessor.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlNullabilityProcessor.cs index 24129e56247..9d43bc4ba37 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlNullabilityProcessor.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlNullabilityProcessor.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using Microsoft.EntityFrameworkCore.Sqlite.Query.SqlExpressions.Internal; @@ -13,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteSqlNullabilityProcessor : SqlNullabilityProcessor { /// @@ -92,6 +92,7 @@ protected virtual SqlExpression VisitRegexp( /// 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. /// +#pragma warning disable EF9902 // Internal EF Core relational API usage. protected override bool IsCollectionTable(TableExpressionBase table, [NotNullWhen(true)] out Expression? collection) { if (table is TableValuedFunctionExpression { Name: "json_each", Schema: null, IsBuiltIn: true, Arguments: [var argument] }) @@ -115,5 +116,5 @@ protected override TableExpressionBase UpdateParameterCollection( => table is TableValuedFunctionExpression { Arguments: [SqlParameterExpression] } jsonEachExpression ? jsonEachExpression.Update(new[] { newCollectionParameter }) : base.UpdateParameterCollection(table, newCollectionParameter); -#pragma warning restore EF1001 +#pragma warning restore EF9902 } diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitor.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitor.cs index 5698691db62..7b68bcb2618 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitor.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitor.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using System.Text; using Microsoft.EntityFrameworkCore.Query.SqlExpressions; using ExpressionExtensions = Microsoft.EntityFrameworkCore.Query.ExpressionExtensions; @@ -14,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteSqlTranslatingExpressionVisitor : RelationalSqlTranslatingExpressionVisitor { private readonly QueryCompilationContext _queryCompilationContext; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitorFactory.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitorFactory.cs index a7a61226553..5b6374120f4 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitorFactory.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSqlTranslatingExpressionVisitorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteSqlTranslatingExpressionVisitorFactory : IRelationalSqlTranslatingExpressionVisitorFactory { /// diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringAggregateMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringAggregateMethodTranslator.cs index f558e832301..06a6ecf7ff5 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringAggregateMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringAggregateMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteStringAggregateMethodTranslator : IAggregateMethodCallTranslator { private static readonly MethodInfo StringConcatMethod diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringLengthTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringLengthTranslator.cs index 22882bcf4e7..b3e543a9029 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringLengthTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringLengthTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteStringLengthTranslator : IMemberTranslator { private readonly ISqlExpressionFactory _sqlExpressionFactory; diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringMethodTranslator.cs index f65e85ac925..abb428e9f23 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteStringMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteStringMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo IndexOfMethodInfo diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSubstrMethodTranslator.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSubstrMethodTranslator.cs index 042f357ac4b..a6e18fc1d26 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteSubstrMethodTranslator.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteSubstrMethodTranslator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteSubstrMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo MethodInfo = typeof(SqliteDbFunctionsExtensions) diff --git a/src/EFCore.Sqlite.Core/Query/Internal/SqliteTypeMappingPostprocessor.cs b/src/EFCore.Sqlite.Core/Query/Internal/SqliteTypeMappingPostprocessor.cs index 6c67cec070a..379d8a81bba 100644 --- a/src/EFCore.Sqlite.Core/Query/Internal/SqliteTypeMappingPostprocessor.cs +++ b/src/EFCore.Sqlite.Core/Query/Internal/SqliteTypeMappingPostprocessor.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteTypeMappingPostprocessor : RelationalTypeMappingPostprocessor { private readonly IRelationalTypeMappingSource _typeMappingSource; diff --git a/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/GlobExpression.cs b/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/GlobExpression.cs index 7f852959e9b..e02f3e38eac 100644 --- a/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/GlobExpression.cs +++ b/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/GlobExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.SqlExpressions.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class GlobExpression : SqlExpression { private static ConstructorInfo? _quotingConstructor; diff --git a/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/JsonEachExpression.cs b/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/JsonEachExpression.cs index d2cfa45526e..5b97adb9ca2 100644 --- a/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/JsonEachExpression.cs +++ b/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/JsonEachExpression.cs @@ -19,6 +19,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.SqlExpressions.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class JsonEachExpression : TableValuedFunctionExpression { private static ConstructorInfo? _quotingConstructor; diff --git a/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/RegexpExpression.cs b/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/RegexpExpression.cs index 69aa51cb6cc..1c0d2bb292f 100644 --- a/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/RegexpExpression.cs +++ b/src/EFCore.Sqlite.Core/Query/SqlExpressions/Internal/RegexpExpression.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.SqlExpressions.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class RegexpExpression : SqlExpression { private static ConstructorInfo? _quotingConstructor; diff --git a/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteCodeGenerator.cs b/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteCodeGenerator.cs index cc63acbad72..daad2b758b7 100644 --- a/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteCodeGenerator.cs +++ b/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteCodeGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteCodeGenerator : ProviderCodeGenerator { private static readonly MethodInfo UseSqliteMethodInfo diff --git a/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteDatabaseModelFactory.cs b/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteDatabaseModelFactory.cs index b67f8571b42..f59260a926d 100644 --- a/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteDatabaseModelFactory.cs +++ b/src/EFCore.Sqlite.Core/Scaffolding/Internal/SqliteDatabaseModelFactory.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDatabaseModelFactory : DatabaseModelFactory { private static readonly HashSet _defaultClrTypes = diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/ISqliteRelationalConnection.cs b/src/EFCore.Sqlite.Core/Storage/Internal/ISqliteRelationalConnection.cs index 839adf64ffe..1d4b8a42f31 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/ISqliteRelationalConnection.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/ISqliteRelationalConnection.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public interface ISqliteRelationalConnection : IRelationalConnection { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteByteArrayTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteByteArrayTypeMapping.cs index e2bccc551a7..a2b5c522853 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteByteArrayTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteByteArrayTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteByteArrayTypeMapping : ByteArrayTypeMapping { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDatabaseCreator.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDatabaseCreator.cs index 681a08b37b7..e9f058bcd04 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDatabaseCreator.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDatabaseCreator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDatabaseCreator : RelationalDatabaseCreator { // ReSharper disable once InconsistentNaming diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateOnlyTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateOnlyTypeMapping.cs index de1b40d4553..a996b089c38 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateOnlyTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateOnlyTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateOnlyTypeMapping : DateOnlyTypeMapping { private const string DateOnlyFormatConst = @"'{0:yyyy\-MM\-dd}'"; diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeOffsetTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeOffsetTypeMapping.cs index dafc626f653..06220b75e3a 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeOffsetTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeOffsetTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateTimeOffsetTypeMapping : DateTimeOffsetTypeMapping { private const string DateTimeOffsetFormatConst = @"'{0:yyyy\-MM\-dd HH\:mm\:ss.FFFFFFFzzz}'"; diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeTypeMapping.cs index 637e3142066..1483204193c 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDateTimeTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDateTimeTypeMapping : DateTimeTypeMapping { private const string DateTimeFormatConst = @"'{0:yyyy\-MM\-dd HH\:mm\:ss.FFFFFFF}'"; diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDecimalTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDecimalTypeMapping.cs index b59acb545c9..321e6ee6558 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDecimalTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteDecimalTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteDecimalTypeMapping : DecimalTypeMapping { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteGuidTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteGuidTypeMapping.cs index 3468e675f6e..bb9539fa860 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteGuidTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteGuidTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGuidTypeMapping : GuidTypeMapping { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteJsonTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteJsonTypeMapping.cs index 2b40d34a556..e47afb5709c 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteJsonTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteJsonTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteJsonTypeMapping : JsonTypeMapping { private static readonly MethodInfo GetStringMethod diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteRelationalConnection.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteRelationalConnection.cs index cf83ca55632..14199d76af3 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteRelationalConnection.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteRelationalConnection.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteRelationalConnection : RelationalConnection, ISqliteRelationalConnection { private readonly IRawSqlCommandBuilder _rawSqlCommandBuilder; diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteSqlGenerationHelper.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteSqlGenerationHelper.cs index cd95ab4ffd5..36359fb094d 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteSqlGenerationHelper.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteSqlGenerationHelper.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteSqlGenerationHelper : RelationalSqlGenerationHelper { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteStringTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteStringTypeMapping.cs index a332c0fcd06..69ef09b2cd4 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteStringTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteStringTypeMapping.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteStringTypeMapping : StringTypeMapping { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTimeOnlyTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTimeOnlyTypeMapping.cs index f10b7d6d398..7368a42ac3d 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTimeOnlyTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTimeOnlyTypeMapping.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteTimeOnlyTypeMapping : TimeOnlyTypeMapping { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTypeMappingSource.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTypeMappingSource.cs index 8e9e80978f0..67e3b10bf3f 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTypeMappingSource.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteTypeMappingSource.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteTypeMappingSource : RelationalTypeMappingSource { private static readonly HashSet SpatialiteTypes diff --git a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteULongTypeMapping.cs b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteULongTypeMapping.cs index e7cae0a5630..3ecd0935709 100644 --- a/src/EFCore.Sqlite.Core/Storage/Internal/SqliteULongTypeMapping.cs +++ b/src/EFCore.Sqlite.Core/Storage/Internal/SqliteULongTypeMapping.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteULongTypeMapping : ULongTypeMapping { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonByteArrayReaderWriter.cs b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonByteArrayReaderWriter.cs index 12376cc11af..6a2748adbe1 100644 --- a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonByteArrayReaderWriter.cs +++ b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonByteArrayReaderWriter.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Json.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SqliteJsonByteArrayReaderWriter : JsonValueReaderWriter { /// diff --git a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeOffsetReaderWriter.cs b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeOffsetReaderWriter.cs index d57cd9da2a1..39be74402d9 100644 --- a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeOffsetReaderWriter.cs +++ b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeOffsetReaderWriter.cs @@ -18,6 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Json.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SqliteJsonDateTimeOffsetReaderWriter : JsonValueReaderWriter { private const string DateTimeOffsetFormatConst = @"{0:yyyy\-MM\-dd HH\:mm\:ss.FFFFFFFzzz}"; diff --git a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeReaderWriter.cs b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeReaderWriter.cs index 29e8025a919..3063aaa6538 100644 --- a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeReaderWriter.cs +++ b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDateTimeReaderWriter.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Json.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SqliteJsonDateTimeReaderWriter : JsonValueReaderWriter { private const string DateTimeFormatConst = @"{0:yyyy\-MM\-dd HH\:mm\:ss.FFFFFFF}"; diff --git a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDecimalReaderWriter.cs b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDecimalReaderWriter.cs index d9cc869b838..9f12cdc11ca 100644 --- a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDecimalReaderWriter.cs +++ b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonDecimalReaderWriter.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Json.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SqliteJsonDecimalReaderWriter : JsonValueReaderWriter { private const string DecimalFormatConst = "{0:0.0###########################}"; diff --git a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonGuidReaderWriter.cs b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonGuidReaderWriter.cs index 0b90ce03d1a..702053e770d 100644 --- a/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonGuidReaderWriter.cs +++ b/src/EFCore.Sqlite.Core/Storage/Json/Internal/SqliteJsonGuidReaderWriter.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Json.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public sealed class SqliteJsonGuidReaderWriter : JsonValueReaderWriter { /// diff --git a/src/EFCore.Sqlite.Core/Update/Internal/SqliteLegacyUpdateSqlGenerator.cs b/src/EFCore.Sqlite.Core/Update/Internal/SqliteLegacyUpdateSqlGenerator.cs index ec019b2941a..a5ac0fb096b 100644 --- a/src/EFCore.Sqlite.Core/Update/Internal/SqliteLegacyUpdateSqlGenerator.cs +++ b/src/EFCore.Sqlite.Core/Update/Internal/SqliteLegacyUpdateSqlGenerator.cs @@ -10,4 +10,5 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Update.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// [Obsolete("Call UseSqlReturningClause(false) instead, see https://aka.ms/efcore-docs-sqlite-save-changes-and-returning-clause")] +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteLegacyUpdateSqlGenerator; diff --git a/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommand.cs b/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommand.cs index 0a9299687de..fdfd7360406 100644 --- a/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommand.cs +++ b/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommand.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteModificationCommand : ModificationCommand { /// diff --git a/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandBatchFactory.cs b/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandBatchFactory.cs index 95121f87831..98247317ecb 100644 --- a/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandBatchFactory.cs +++ b/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandBatchFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteModificationCommandBatchFactory : IModificationCommandBatchFactory { /// diff --git a/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandFactory.cs b/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandFactory.cs index d313e039b5e..2900283a2d7 100644 --- a/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandFactory.cs +++ b/src/EFCore.Sqlite.Core/Update/Internal/SqliteModificationCommandFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteModificationCommandFactory : IModificationCommandFactory { /// diff --git a/src/EFCore.Sqlite.Core/Update/Internal/SqliteUpdateSqlGenerator.cs b/src/EFCore.Sqlite.Core/Update/Internal/SqliteUpdateSqlGenerator.cs index 626a9a0ce68..b4ca25c7fd7 100644 --- a/src/EFCore.Sqlite.Core/Update/Internal/SqliteUpdateSqlGenerator.cs +++ b/src/EFCore.Sqlite.Core/Update/Internal/SqliteUpdateSqlGenerator.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteUpdateSqlGenerator : UpdateAndSelectSqlGenerator { private readonly bool _isReturningClauseSupported; diff --git a/src/EFCore.Sqlite.NTS/Design/Internal/SqliteNetTopologySuiteDesignTimeServices.cs b/src/EFCore.Sqlite.NTS/Design/Internal/SqliteNetTopologySuiteDesignTimeServices.cs index 36eb6d0af58..3c103bf4ed5 100644 --- a/src/EFCore.Sqlite.NTS/Design/Internal/SqliteNetTopologySuiteDesignTimeServices.cs +++ b/src/EFCore.Sqlite.NTS/Design/Internal/SqliteNetTopologySuiteDesignTimeServices.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteDesignTimeServices : IDesignTimeServices { /// diff --git a/src/EFCore.Sqlite.NTS/EFCore.Sqlite.NTS.csproj b/src/EFCore.Sqlite.NTS/EFCore.Sqlite.NTS.csproj index 33550712092..0b9a7deefd3 100644 --- a/src/EFCore.Sqlite.NTS/EFCore.Sqlite.NTS.csproj +++ b/src/EFCore.Sqlite.NTS/EFCore.Sqlite.NTS.csproj @@ -10,11 +10,13 @@ true $(PackageTags);SQLite;GIS;NTS;OGC;SpatiaLite true + $(NoWarn);EF9999 + diff --git a/src/EFCore.Sqlite.NTS/Extensions/SqliteNetTopologySuiteServiceCollectionExtensions.cs b/src/EFCore.Sqlite.NTS/Extensions/SqliteNetTopologySuiteServiceCollectionExtensions.cs index 1b3abc1a77f..bedf8ef60bc 100644 --- a/src/EFCore.Sqlite.NTS/Extensions/SqliteNetTopologySuiteServiceCollectionExtensions.cs +++ b/src/EFCore.Sqlite.NTS/Extensions/SqliteNetTopologySuiteServiceCollectionExtensions.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Diagnostics.CodeAnalysis; using Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.Extensions.DependencyInjection.Extensions; diff --git a/src/EFCore.Sqlite.NTS/Infrastructure/Internal/SqliteNetTopologySuiteOptionsExtension.cs b/src/EFCore.Sqlite.NTS/Infrastructure/Internal/SqliteNetTopologySuiteOptionsExtension.cs index 814394ba48d..13b4d4bf6e4 100644 --- a/src/EFCore.Sqlite.NTS/Infrastructure/Internal/SqliteNetTopologySuiteOptionsExtension.cs +++ b/src/EFCore.Sqlite.NTS/Infrastructure/Internal/SqliteNetTopologySuiteOptionsExtension.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteOptionsExtension : IDbContextOptionsExtension { private DbContextOptionsExtensionInfo? _info; diff --git a/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.cs b/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.cs index 2e92e8d8af7..a6e58c958e9 100644 --- a/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.cs +++ b/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Internal /// 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. /// + [Experimental(EFDiagnostics.ProviderInternalUsage)] public static class SqliteNTSStrings { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.tt b/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.tt index 695a249f8a0..d33811e7a48 100644 --- a/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.tt +++ b/src/EFCore.Sqlite.NTS/Properties/SqliteNTSStrings.Designer.tt @@ -4,5 +4,6 @@ Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Sqlite.Properties"; Session["LoggingDefinitionsClass"] = "SqliteNtsLoggingDefinitions"; Session["NoDiagnostics"] = true; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.ProviderInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMemberTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMemberTranslator.cs index aed20ee6df1..dde5cba7465 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMemberTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGeometryCollectionMemberTranslator : IMemberTranslator { private static readonly MemberInfo Count diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMethodTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMethodTranslator.cs index ed0fb221f45..597b892f28c 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMethodTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryCollectionMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGeometryCollectionMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo Item = typeof(GeometryCollection).GetTypeInfo().GetRuntimeProperty("Item")!.GetMethod!; diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMemberTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMemberTranslator.cs index 73866d306b8..31a7f53ac69 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMemberTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGeometryMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToFunctionName = new Dictionary diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMethodTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMethodTranslator.cs index 6d5d32eb85b..526513577c0 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMethodTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteGeometryMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGeometryMethodTranslator : IMethodCallTranslator { private static readonly IDictionary MethodToFunctionName = new Dictionary diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMemberTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMemberTranslator.cs index 0dfa4f6527e..68d1c2a5844 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMemberTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteLineStringMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToFunctionName diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMethodTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMethodTranslator.cs index a37192c2f58..67e0bb382fe 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMethodTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteLineStringMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteLineStringMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo GetPointN diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteMultiLineStringMemberTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteMultiLineStringMemberTranslator.cs index 030c8dde72f..a6ab3e12e77 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteMultiLineStringMemberTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteMultiLineStringMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteMultiLineStringMemberTranslator : IMemberTranslator { private static readonly MemberInfo IsClosed diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs index 36f4742a425..46ca3d51f86 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodCallTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteAggregateMethodCallTranslatorPlugin : IAggregateMethodCallTranslatorPlugin { /// diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodTranslator.cs index 60a43dec99f..c5e3f1ff42e 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteAggregateMethodTranslator.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteAggregateMethodTranslator : IAggregateMethodCallTranslator { private static readonly MethodInfo GeometryCombineMethod diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMemberTranslatorPlugin.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMemberTranslatorPlugin.cs index 04ebab7f46b..dbdb082864e 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMemberTranslatorPlugin.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMemberTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteMemberTranslatorPlugin : IMemberTranslatorPlugin { /// diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMethodCallTranslatorPlugin.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMethodCallTranslatorPlugin.cs index ba868cb0861..b6d3e1a82f1 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMethodCallTranslatorPlugin.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqliteNetTopologySuiteMethodCallTranslatorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteMethodCallTranslatorPlugin : IMethodCallTranslatorPlugin { /// diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePointMemberTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePointMemberTranslator.cs index 989c0f8a642..e5c3bf6a71e 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePointMemberTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePointMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlitePointMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToFunctionName = new Dictionary diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMemberTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMemberTranslator.cs index b49727df557..07da3ceec39 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMemberTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMemberTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlitePolygonMemberTranslator : IMemberTranslator { private static readonly IDictionary MemberToFunctionName diff --git a/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMethodTranslator.cs b/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMethodTranslator.cs index 8c0fcdd4a80..25665a8ee75 100644 --- a/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMethodTranslator.cs +++ b/src/EFCore.Sqlite.NTS/Query/Internal/SqlitePolygonMethodTranslator.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqlitePolygonMethodTranslator : IMethodCallTranslator { private static readonly MethodInfo GetInteriorRingN diff --git a/src/EFCore.Sqlite.NTS/Scaffolding/Internal/SqliteNetTopologySuiteCodeGeneratorPlugin.cs b/src/EFCore.Sqlite.NTS/Scaffolding/Internal/SqliteNetTopologySuiteCodeGeneratorPlugin.cs index 5568fdb3557..ec017cec19c 100644 --- a/src/EFCore.Sqlite.NTS/Scaffolding/Internal/SqliteNetTopologySuiteCodeGeneratorPlugin.cs +++ b/src/EFCore.Sqlite.NTS/Scaffolding/Internal/SqliteNetTopologySuiteCodeGeneratorPlugin.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Scaffolding.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteCodeGeneratorPlugin : ProviderCodeGeneratorPlugin { private static readonly MethodInfo UseNetTopologySuiteMethodInfo diff --git a/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteGeometryTypeMapping.cs b/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteGeometryTypeMapping.cs index 36f22d668fa..a351a04df05 100644 --- a/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteGeometryTypeMapping.cs +++ b/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteGeometryTypeMapping.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteGeometryTypeMapping : RelationalGeometryTypeMapping where TGeometry : Geometry { diff --git a/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteNetTopologySuiteTypeMappingSourcePlugin.cs b/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteNetTopologySuiteTypeMappingSourcePlugin.cs index de1f03e02dc..5da1da58a12 100644 --- a/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteNetTopologySuiteTypeMappingSourcePlugin.cs +++ b/src/EFCore.Sqlite.NTS/Storage/Internal/SqliteNetTopologySuiteTypeMappingSourcePlugin.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class SqliteNetTopologySuiteTypeMappingSourcePlugin : IRelationalTypeMappingSourcePlugin { private static readonly Dictionary StoreTypeMappings = new(StringComparer.OrdinalIgnoreCase) diff --git a/src/EFCore.Sqlite.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs b/src/EFCore.Sqlite.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs index f4931305246..2bbb3b0901a 100644 --- a/src/EFCore.Sqlite.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs +++ b/src/EFCore.Sqlite.NTS/Storage/ValueConversion/Internal/GeometryValueConverter.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Sqlite.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.ProviderInternalUsage)] public class GeometryValueConverter : ValueConverter where TGeometry : Geometry { diff --git a/src/EFCore/ChangeTracking/ChangeTracker.cs b/src/EFCore/ChangeTracking/ChangeTracker.cs index 4f0a8134c8a..56a9d9de0cb 100644 --- a/src/EFCore/ChangeTracking/ChangeTracker.cs +++ b/src/EFCore/ChangeTracking/ChangeTracker.cs @@ -27,7 +27,7 @@ public class ChangeTracker : IResettableService /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ChangeTracker( DbContext context, IStateManager stateManager, diff --git a/src/EFCore/ChangeTracking/CollectionEntry.cs b/src/EFCore/ChangeTracking/CollectionEntry.cs index af1e566401d..939ab24ab61 100644 --- a/src/EFCore/ChangeTracking/CollectionEntry.cs +++ b/src/EFCore/ChangeTracking/CollectionEntry.cs @@ -33,7 +33,7 @@ public class CollectionEntry : NavigationEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionEntry(InternalEntityEntry internalEntry, string name) : base(internalEntry, name, collection: true) { @@ -46,7 +46,7 @@ public CollectionEntry(InternalEntityEntry internalEntry, string name) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionEntry(InternalEntityEntry internalEntry, INavigationBase navigationBase) : base(internalEntry, navigationBase, collection: true) { @@ -333,7 +333,7 @@ private void EnsureInitialized() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityEntry? GetInternalTargetEntry(object entity) => CurrentValue == null || !InternalEntry.CollectionContains(Metadata, entity) diff --git a/src/EFCore/ChangeTracking/CollectionEntry`.cs b/src/EFCore/ChangeTracking/CollectionEntry`.cs index 881136e9d68..50669075db4 100644 --- a/src/EFCore/ChangeTracking/CollectionEntry`.cs +++ b/src/EFCore/ChangeTracking/CollectionEntry`.cs @@ -32,7 +32,7 @@ public class CollectionEntry : CollectionEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionEntry(InternalEntityEntry internalEntry, string name) : base(internalEntry, name) { @@ -44,7 +44,7 @@ public CollectionEntry(InternalEntityEntry internalEntry, string name) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionEntry(InternalEntityEntry internalEntry, INavigationBase navigationBase) : base(internalEntry, navigationBase) { diff --git a/src/EFCore/ChangeTracking/ComplexPropertyEntry.cs b/src/EFCore/ChangeTracking/ComplexPropertyEntry.cs index bf1e6eee96c..3af63b7eed1 100644 --- a/src/EFCore/ChangeTracking/ComplexPropertyEntry.cs +++ b/src/EFCore/ChangeTracking/ComplexPropertyEntry.cs @@ -28,7 +28,7 @@ public class ComplexPropertyEntry : MemberEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexPropertyEntry(InternalEntityEntry internalEntry, IComplexProperty complexProperty) : base(internalEntry, complexProperty) { diff --git a/src/EFCore/ChangeTracking/ComplexPropertyEntry`.cs b/src/EFCore/ChangeTracking/ComplexPropertyEntry`.cs index 3e8f57b49a7..4f5da797875 100644 --- a/src/EFCore/ChangeTracking/ComplexPropertyEntry`.cs +++ b/src/EFCore/ChangeTracking/ComplexPropertyEntry`.cs @@ -31,7 +31,7 @@ public class ComplexPropertyEntry : ComplexPropertyEn /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexPropertyEntry(InternalEntityEntry internalEntry, IComplexProperty complexProperty) : base(internalEntry, complexProperty) { diff --git a/src/EFCore/ChangeTracking/DetectEntityChangesEventArgs.cs b/src/EFCore/ChangeTracking/DetectEntityChangesEventArgs.cs index c84f1ab7992..8b6c51918d9 100644 --- a/src/EFCore/ChangeTracking/DetectEntityChangesEventArgs.cs +++ b/src/EFCore/ChangeTracking/DetectEntityChangesEventArgs.cs @@ -22,7 +22,7 @@ public class DetectEntityChangesEventArgs : DetectChangesEventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DetectEntityChangesEventArgs(InternalEntityEntry internalEntityEntry) { _internalEntityEntry = internalEntityEntry; diff --git a/src/EFCore/ChangeTracking/DetectedChangesEventArgs.cs b/src/EFCore/ChangeTracking/DetectedChangesEventArgs.cs index 81019ddec20..34276024104 100644 --- a/src/EFCore/ChangeTracking/DetectedChangesEventArgs.cs +++ b/src/EFCore/ChangeTracking/DetectedChangesEventArgs.cs @@ -17,7 +17,7 @@ public class DetectedChangesEventArgs : EventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DetectedChangesEventArgs(bool changesFound) { ChangesFound = changesFound; diff --git a/src/EFCore/ChangeTracking/DetectedEntityChangesEventArgs.cs b/src/EFCore/ChangeTracking/DetectedEntityChangesEventArgs.cs index 870f94a860c..a31874ac739 100644 --- a/src/EFCore/ChangeTracking/DetectedEntityChangesEventArgs.cs +++ b/src/EFCore/ChangeTracking/DetectedEntityChangesEventArgs.cs @@ -22,7 +22,7 @@ public class DetectedEntityChangesEventArgs : DetectedChangesEventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DetectedEntityChangesEventArgs( InternalEntityEntry internalEntityEntry, bool changesFound) diff --git a/src/EFCore/ChangeTracking/EntityEntry.cs b/src/EFCore/ChangeTracking/EntityEntry.cs index 70fd20516f0..633374dad76 100644 --- a/src/EFCore/ChangeTracking/EntityEntry.cs +++ b/src/EFCore/ChangeTracking/EntityEntry.cs @@ -33,7 +33,7 @@ public class EntityEntry : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityEntry InternalEntry { [DebuggerStepThrough] get; } /// @@ -42,7 +42,7 @@ public class EntityEntry : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityEntry(InternalEntityEntry internalEntry) { InternalEntry = internalEntry; @@ -113,7 +113,7 @@ public virtual void DetectChanges() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] InternalEntityEntry IInfrastructure.Instance => InternalEntry; diff --git a/src/EFCore/ChangeTracking/EntityEntryEventArgs.cs b/src/EFCore/ChangeTracking/EntityEntryEventArgs.cs index f696ae826e1..4eee758a713 100644 --- a/src/EFCore/ChangeTracking/EntityEntryEventArgs.cs +++ b/src/EFCore/ChangeTracking/EntityEntryEventArgs.cs @@ -23,7 +23,7 @@ public class EntityEntryEventArgs : EventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityEntryEventArgs( InternalEntityEntry internalEntityEntry) { diff --git a/src/EFCore/ChangeTracking/EntityEntryGraphNode.cs b/src/EFCore/ChangeTracking/EntityEntryGraphNode.cs index c4e82161709..9edd8f97796 100644 --- a/src/EFCore/ChangeTracking/EntityEntryGraphNode.cs +++ b/src/EFCore/ChangeTracking/EntityEntryGraphNode.cs @@ -29,7 +29,7 @@ public class EntityEntryGraphNode : IInfrastructure /// doing so can result in application failures when updating to a new Entity Framework Core release. /// [DebuggerStepThrough] - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityEntryGraphNode( InternalEntityEntry entry, InternalEntityEntry? sourceEntry, @@ -84,7 +84,7 @@ public virtual EntityEntry Entry /// doing so can result in application failures when updating to a new Entity Framework Core release. /// /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] InternalEntityEntry IInfrastructure.Instance => _entry; @@ -94,7 +94,7 @@ InternalEntityEntry IInfrastructure.Instance /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual EntityEntryGraphNode CreateNode( EntityEntryGraphNode currentNode, InternalEntityEntry internalEntityEntry, diff --git a/src/EFCore/ChangeTracking/EntityEntryGraphNode`.cs b/src/EFCore/ChangeTracking/EntityEntryGraphNode`.cs index 5701f6d7cb5..065070290cc 100644 --- a/src/EFCore/ChangeTracking/EntityEntryGraphNode`.cs +++ b/src/EFCore/ChangeTracking/EntityEntryGraphNode`.cs @@ -21,7 +21,7 @@ public class EntityEntryGraphNode : EntityEntryGraphNode /// doing so can result in application failures when updating to a new Entity Framework Core release. /// [DebuggerStepThrough] - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityEntryGraphNode( InternalEntityEntry entry, TState state, @@ -59,7 +59,7 @@ public EntityEntryGraphNode( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public override EntityEntryGraphNode CreateNode( EntityEntryGraphNode currentNode, InternalEntityEntry internalEntityEntry, diff --git a/src/EFCore/ChangeTracking/EntityEntry`.cs b/src/EFCore/ChangeTracking/EntityEntry`.cs index b17e4d5aa00..ebf6628bd04 100644 --- a/src/EFCore/ChangeTracking/EntityEntry`.cs +++ b/src/EFCore/ChangeTracking/EntityEntry`.cs @@ -30,7 +30,7 @@ public class EntityEntry : EntityEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityEntry(InternalEntityEntry internalEntry) : base(internalEntry) { diff --git a/src/EFCore/ChangeTracking/EntityStateChangedEventArgs.cs b/src/EFCore/ChangeTracking/EntityStateChangedEventArgs.cs index 064cb660f9b..ce79d12fa7e 100644 --- a/src/EFCore/ChangeTracking/EntityStateChangedEventArgs.cs +++ b/src/EFCore/ChangeTracking/EntityStateChangedEventArgs.cs @@ -19,7 +19,7 @@ public class EntityStateChangedEventArgs : EntityEntryEventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityStateChangedEventArgs( InternalEntityEntry internalEntityEntry, EntityState oldState, diff --git a/src/EFCore/ChangeTracking/EntityStateChangingEventArgs.cs b/src/EFCore/ChangeTracking/EntityStateChangingEventArgs.cs index 9379e8c4a4e..34eb4bd60d9 100644 --- a/src/EFCore/ChangeTracking/EntityStateChangingEventArgs.cs +++ b/src/EFCore/ChangeTracking/EntityStateChangingEventArgs.cs @@ -19,7 +19,7 @@ public class EntityStateChangingEventArgs : EntityEntryEventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityStateChangingEventArgs( InternalEntityEntry internalEntityEntry, EntityState oldState, diff --git a/src/EFCore/ChangeTracking/EntityTrackedEventArgs.cs b/src/EFCore/ChangeTracking/EntityTrackedEventArgs.cs index 73e86f220c3..a7d27774356 100644 --- a/src/EFCore/ChangeTracking/EntityTrackedEventArgs.cs +++ b/src/EFCore/ChangeTracking/EntityTrackedEventArgs.cs @@ -19,7 +19,7 @@ public class EntityTrackedEventArgs : EntityEntryEventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityTrackedEventArgs( InternalEntityEntry internalEntityEntry, bool fromQuery) diff --git a/src/EFCore/ChangeTracking/EntityTrackingEventArgs.cs b/src/EFCore/ChangeTracking/EntityTrackingEventArgs.cs index 985e43e173c..fcace9b355c 100644 --- a/src/EFCore/ChangeTracking/EntityTrackingEventArgs.cs +++ b/src/EFCore/ChangeTracking/EntityTrackingEventArgs.cs @@ -19,7 +19,7 @@ public class EntityTrackingEventArgs : EntityEntryEventArgs /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityTrackingEventArgs( InternalEntityEntry internalEntityEntry, EntityState state, diff --git a/src/EFCore/ChangeTracking/Internal/ArrayPropertyValues.cs b/src/EFCore/ChangeTracking/Internal/ArrayPropertyValues.cs index 80e263b4b5b..9697c6a795a 100644 --- a/src/EFCore/ChangeTracking/Internal/ArrayPropertyValues.cs +++ b/src/EFCore/ChangeTracking/Internal/ArrayPropertyValues.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ArrayPropertyValues : PropertyValues { private readonly object?[] _values; diff --git a/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs b/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs index fc83b8549da..39016bdbe0f 100644 --- a/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs +++ b/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ChangeDetector : IChangeDetector { private readonly IDiagnosticsLogger _logger; diff --git a/src/EFCore/ChangeTracking/Internal/ChangeTrackerFactory.cs b/src/EFCore/ChangeTracking/Internal/ChangeTrackerFactory.cs index c0bae85f6e3..c0126499ad0 100644 --- a/src/EFCore/ChangeTracking/Internal/ChangeTrackerFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/ChangeTrackerFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ChangeTrackerFactory : IChangeTrackerFactory { private readonly DbContext _context; diff --git a/src/EFCore/ChangeTracking/Internal/CompositeDependentKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/CompositeDependentKeyValueFactory.cs index fb40979a109..0591e7b522e 100644 --- a/src/EFCore/ChangeTracking/Internal/CompositeDependentKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/CompositeDependentKeyValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompositeDependentKeyValueFactory : CompositeValueFactory { private readonly IForeignKey _foreignKey; diff --git a/src/EFCore/ChangeTracking/Internal/CompositePrincipalKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/CompositePrincipalKeyValueFactory.cs index ca4b1b6f85a..91d61e22af2 100644 --- a/src/EFCore/ChangeTracking/Internal/CompositePrincipalKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/CompositePrincipalKeyValueFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompositePrincipalKeyValueFactory : CompositeValueFactory, IPrincipalKeyValueFactory> { private readonly IKey _key; diff --git a/src/EFCore/ChangeTracking/Internal/CompositeValueFactory.cs b/src/EFCore/ChangeTracking/Internal/CompositeValueFactory.cs index aef1710abec..ce9a4b5f3b8 100644 --- a/src/EFCore/ChangeTracking/Internal/CompositeValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/CompositeValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompositeValueFactory : IDependentKeyValueFactory> { /// diff --git a/src/EFCore/ChangeTracking/Internal/CurrentPropertyValues.cs b/src/EFCore/ChangeTracking/Internal/CurrentPropertyValues.cs index d8d57b01959..520fe853916 100644 --- a/src/EFCore/ChangeTracking/Internal/CurrentPropertyValues.cs +++ b/src/EFCore/ChangeTracking/Internal/CurrentPropertyValues.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CurrentPropertyValues : EntryPropertyValues { /// diff --git a/src/EFCore/ChangeTracking/Internal/CurrentProviderValueComparer`.cs b/src/EFCore/ChangeTracking/Internal/CurrentProviderValueComparer`.cs index 3a0e921ac46..fb8c28e8bae 100644 --- a/src/EFCore/ChangeTracking/Internal/CurrentProviderValueComparer`.cs +++ b/src/EFCore/ChangeTracking/Internal/CurrentProviderValueComparer`.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CurrentProviderValueComparer : IComparer { private readonly IPropertyBase _property; diff --git a/src/EFCore/ChangeTracking/Internal/CurrentValueComparerFactory.cs b/src/EFCore/ChangeTracking/Internal/CurrentValueComparerFactory.cs index ad7995c4a44..6225b5dcbd7 100644 --- a/src/EFCore/ChangeTracking/Internal/CurrentValueComparerFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/CurrentValueComparerFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CurrentValueComparerFactory { private CurrentValueComparerFactory() diff --git a/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactory.cs index 412b640544b..f4332b282eb 100644 --- a/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class DependentKeyValueFactory where TKey : notnull { diff --git a/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactoryFactory.cs index e0685c2785c..2660abfa7d9 100644 --- a/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/DependentKeyValueFactoryFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DependentKeyValueFactoryFactory { /// diff --git a/src/EFCore/ChangeTracking/Internal/DependentsMap.cs b/src/EFCore/ChangeTracking/Internal/DependentsMap.cs index 42f6d6027a9..446f2040215 100644 --- a/src/EFCore/ChangeTracking/Internal/DependentsMap.cs +++ b/src/EFCore/ChangeTracking/Internal/DependentsMap.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DependentsMap : IDependentsMap where TKey : notnull { diff --git a/src/EFCore/ChangeTracking/Internal/EmptyShadowValuesFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/EmptyShadowValuesFactoryFactory.cs index 06497d8b090..0c4d0c51be1 100644 --- a/src/EFCore/ChangeTracking/Internal/EmptyShadowValuesFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/EmptyShadowValuesFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EmptyShadowValuesFactoryFactory : SnapshotFactoryFactory { private EmptyShadowValuesFactoryFactory() diff --git a/src/EFCore/ChangeTracking/Internal/EntityEntryGraphIterator.cs b/src/EFCore/ChangeTracking/Internal/EntityEntryGraphIterator.cs index f015f2c7c56..74c231512d0 100644 --- a/src/EFCore/ChangeTracking/Internal/EntityEntryGraphIterator.cs +++ b/src/EFCore/ChangeTracking/Internal/EntityEntryGraphIterator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityEntryGraphIterator : IEntityEntryGraphIterator { /// diff --git a/src/EFCore/ChangeTracking/Internal/EntityGraphAttacher.cs b/src/EFCore/ChangeTracking/Internal/EntityGraphAttacher.cs index c09f54bf26f..08723a67437 100644 --- a/src/EFCore/ChangeTracking/Internal/EntityGraphAttacher.cs +++ b/src/EFCore/ChangeTracking/Internal/EntityGraphAttacher.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityGraphAttacher : IEntityGraphAttacher { private readonly IEntityEntryGraphIterator _graphIterator; diff --git a/src/EFCore/ChangeTracking/Internal/EntityReferenceMap.cs b/src/EFCore/ChangeTracking/Internal/EntityReferenceMap.cs index a77de1f1f43..853642ef58c 100644 --- a/src/EFCore/ChangeTracking/Internal/EntityReferenceMap.cs +++ b/src/EFCore/ChangeTracking/Internal/EntityReferenceMap.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityReferenceMap { private readonly bool _hasSubMap; diff --git a/src/EFCore/ChangeTracking/Internal/EntryCurrentProviderValueComparer.cs b/src/EFCore/ChangeTracking/Internal/EntryCurrentProviderValueComparer.cs index 8459ef53f96..a05af7243b7 100644 --- a/src/EFCore/ChangeTracking/Internal/EntryCurrentProviderValueComparer.cs +++ b/src/EFCore/ChangeTracking/Internal/EntryCurrentProviderValueComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntryCurrentProviderValueComparer : EntryCurrentValueComparer { private readonly ValueConverter _converter; diff --git a/src/EFCore/ChangeTracking/Internal/EntryCurrentValueComparer.cs b/src/EFCore/ChangeTracking/Internal/EntryCurrentValueComparer.cs index 97ccd1d78c2..92d58d1de51 100644 --- a/src/EFCore/ChangeTracking/Internal/EntryCurrentValueComparer.cs +++ b/src/EFCore/ChangeTracking/Internal/EntryCurrentValueComparer.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntryCurrentValueComparer : IComparer, IEqualityComparer { private readonly IProperty _property; diff --git a/src/EFCore/ChangeTracking/Internal/EntryPropertyValues.cs b/src/EFCore/ChangeTracking/Internal/EntryPropertyValues.cs index 5591ded3f24..d884e3d02b4 100644 --- a/src/EFCore/ChangeTracking/Internal/EntryPropertyValues.cs +++ b/src/EFCore/ChangeTracking/Internal/EntryPropertyValues.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class EntryPropertyValues : PropertyValues { private IReadOnlyList? _properties; diff --git a/src/EFCore/ChangeTracking/Internal/IChangeDetector.cs b/src/EFCore/ChangeTracking/Internal/IChangeDetector.cs index 3807bc89c54..4a5fc291dc2 100644 --- a/src/EFCore/ChangeTracking/Internal/IChangeDetector.cs +++ b/src/EFCore/ChangeTracking/Internal/IChangeDetector.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IChangeDetector { /// diff --git a/src/EFCore/ChangeTracking/Internal/IChangeTrackerFactory.cs b/src/EFCore/ChangeTracking/Internal/IChangeTrackerFactory.cs index 0c514ebfc3c..07c8250a05a 100644 --- a/src/EFCore/ChangeTracking/Internal/IChangeTrackerFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/IChangeTrackerFactory.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IChangeTrackerFactory { /// diff --git a/src/EFCore/ChangeTracking/Internal/IDependentsMap.cs b/src/EFCore/ChangeTracking/Internal/IDependentsMap.cs index 253a6616883..6a92e0b6daf 100644 --- a/src/EFCore/ChangeTracking/Internal/IDependentsMap.cs +++ b/src/EFCore/ChangeTracking/Internal/IDependentsMap.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDependentsMap { /// diff --git a/src/EFCore/ChangeTracking/Internal/IEntityGraphAttacher.cs b/src/EFCore/ChangeTracking/Internal/IEntityGraphAttacher.cs index eea191a95e7..5f6430dd452 100644 --- a/src/EFCore/ChangeTracking/Internal/IEntityGraphAttacher.cs +++ b/src/EFCore/ChangeTracking/Internal/IEntityGraphAttacher.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IEntityGraphAttacher { /// diff --git a/src/EFCore/ChangeTracking/Internal/IIdentityMap.cs b/src/EFCore/ChangeTracking/Internal/IIdentityMap.cs index 8b4c536350e..ab4fdf4084a 100644 --- a/src/EFCore/ChangeTracking/Internal/IIdentityMap.cs +++ b/src/EFCore/ChangeTracking/Internal/IIdentityMap.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IIdentityMap { /// diff --git a/src/EFCore/ChangeTracking/Internal/IIdentityMap`.cs b/src/EFCore/ChangeTracking/Internal/IIdentityMap`.cs index d56a49ee6f6..e1730f5452e 100644 --- a/src/EFCore/ChangeTracking/Internal/IIdentityMap`.cs +++ b/src/EFCore/ChangeTracking/Internal/IIdentityMap`.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IIdentityMap : IIdentityMap { /// diff --git a/src/EFCore/ChangeTracking/Internal/IInternalEntityEntryNotifier.cs b/src/EFCore/ChangeTracking/Internal/IInternalEntityEntryNotifier.cs index 7ff6988c60f..76da9e7ed72 100644 --- a/src/EFCore/ChangeTracking/Internal/IInternalEntityEntryNotifier.cs +++ b/src/EFCore/ChangeTracking/Internal/IInternalEntityEntryNotifier.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IInternalEntityEntryNotifier { /// diff --git a/src/EFCore/ChangeTracking/Internal/IInternalEntityEntrySubscriber.cs b/src/EFCore/ChangeTracking/Internal/IInternalEntityEntrySubscriber.cs index a8d9509e5a7..c470e805097 100644 --- a/src/EFCore/ChangeTracking/Internal/IInternalEntityEntrySubscriber.cs +++ b/src/EFCore/ChangeTracking/Internal/IInternalEntityEntrySubscriber.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IInternalEntityEntrySubscriber { /// diff --git a/src/EFCore/ChangeTracking/Internal/IInternalEntry.cs b/src/EFCore/ChangeTracking/Internal/IInternalEntry.cs index d2c8e0255c1..e0dac2fc4f1 100644 --- a/src/EFCore/ChangeTracking/Internal/IInternalEntry.cs +++ b/src/EFCore/ChangeTracking/Internal/IInternalEntry.cs @@ -11,6 +11,7 @@ // /// 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. // /// +// [Experimental(EFDiagnostics.InternalUsage)] // public interface IInternalEntry // { // /// diff --git a/src/EFCore/ChangeTracking/Internal/IKeyPropagator.cs b/src/EFCore/ChangeTracking/Internal/IKeyPropagator.cs index e0de5197a93..bd95c7f1682 100644 --- a/src/EFCore/ChangeTracking/Internal/IKeyPropagator.cs +++ b/src/EFCore/ChangeTracking/Internal/IKeyPropagator.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IKeyPropagator { /// diff --git a/src/EFCore/ChangeTracking/Internal/ILocalViewListener.cs b/src/EFCore/ChangeTracking/Internal/ILocalViewListener.cs index e9fc0a39aba..d167758d153 100644 --- a/src/EFCore/ChangeTracking/Internal/ILocalViewListener.cs +++ b/src/EFCore/ChangeTracking/Internal/ILocalViewListener.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ILocalViewListener { /// diff --git a/src/EFCore/ChangeTracking/Internal/INavigationFixer.cs b/src/EFCore/ChangeTracking/Internal/INavigationFixer.cs index 20bd14da490..afda25b8e7e 100644 --- a/src/EFCore/ChangeTracking/Internal/INavigationFixer.cs +++ b/src/EFCore/ChangeTracking/Internal/INavigationFixer.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface INavigationFixer { /// diff --git a/src/EFCore/ChangeTracking/Internal/ISnapshot.cs b/src/EFCore/ChangeTracking/Internal/ISnapshot.cs index 0936212ee6a..2cc02b009b6 100644 --- a/src/EFCore/ChangeTracking/Internal/ISnapshot.cs +++ b/src/EFCore/ChangeTracking/Internal/ISnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ISnapshot { /// diff --git a/src/EFCore/ChangeTracking/Internal/IStateManager.cs b/src/EFCore/ChangeTracking/Internal/IStateManager.cs index 03df8915663..287f4672f19 100644 --- a/src/EFCore/ChangeTracking/Internal/IStateManager.cs +++ b/src/EFCore/ChangeTracking/Internal/IStateManager.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IStateManager : IResettableService { /// diff --git a/src/EFCore/ChangeTracking/Internal/IValueGenerationManager.cs b/src/EFCore/ChangeTracking/Internal/IValueGenerationManager.cs index 8a36639d79d..384d5b4be62 100644 --- a/src/EFCore/ChangeTracking/Internal/IValueGenerationManager.cs +++ b/src/EFCore/ChangeTracking/Internal/IValueGenerationManager.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IValueGenerationManager { /// diff --git a/src/EFCore/ChangeTracking/Internal/IdentityMap.cs b/src/EFCore/ChangeTracking/Internal/IdentityMap.cs index 1c4e6b8d1c1..de9ed1f6ff5 100644 --- a/src/EFCore/ChangeTracking/Internal/IdentityMap.cs +++ b/src/EFCore/ChangeTracking/Internal/IdentityMap.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class IdentityMap : IIdentityMap where TKey : notnull { diff --git a/src/EFCore/ChangeTracking/Internal/IdentityMapFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/IdentityMapFactoryFactory.cs index df18e8b9bb1..03dcfdb0b4c 100644 --- a/src/EFCore/ChangeTracking/Internal/IdentityMapFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/IdentityMapFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class IdentityMapFactoryFactory { /// diff --git a/src/EFCore/ChangeTracking/Internal/InternalEntityEntry.cs b/src/EFCore/ChangeTracking/Internal/InternalEntityEntry.cs index e142cc7f93d..15f87508ba7 100644 --- a/src/EFCore/ChangeTracking/Internal/InternalEntityEntry.cs +++ b/src/EFCore/ChangeTracking/Internal/InternalEntityEntry.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed partial class InternalEntityEntry : IUpdateEntry { private readonly StateData _stateData; diff --git a/src/EFCore/ChangeTracking/Internal/InternalEntityEntryNotifier.cs b/src/EFCore/ChangeTracking/Internal/InternalEntityEntryNotifier.cs index fa4042ae4f2..b3dbaf47444 100644 --- a/src/EFCore/ChangeTracking/Internal/InternalEntityEntryNotifier.cs +++ b/src/EFCore/ChangeTracking/Internal/InternalEntityEntryNotifier.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalEntityEntryNotifier : IInternalEntityEntryNotifier { private readonly ILocalViewListener _localViewListener; diff --git a/src/EFCore/ChangeTracking/Internal/InternalEntityEntrySubscriber.cs b/src/EFCore/ChangeTracking/Internal/InternalEntityEntrySubscriber.cs index fe65bb805af..0cc9b081c26 100644 --- a/src/EFCore/ChangeTracking/Internal/InternalEntityEntrySubscriber.cs +++ b/src/EFCore/ChangeTracking/Internal/InternalEntityEntrySubscriber.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalEntityEntrySubscriber : IInternalEntityEntrySubscriber { /// diff --git a/src/EFCore/ChangeTracking/Internal/KeyPropagator.cs b/src/EFCore/ChangeTracking/Internal/KeyPropagator.cs index 15b9c89231b..070a0aacf01 100644 --- a/src/EFCore/ChangeTracking/Internal/KeyPropagator.cs +++ b/src/EFCore/ChangeTracking/Internal/KeyPropagator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class KeyPropagator : IKeyPropagator { private readonly IValueGeneratorSelector _valueGeneratorSelector; diff --git a/src/EFCore/ChangeTracking/Internal/KeyValueFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/KeyValueFactoryFactory.cs index ed0de2f8934..5d83ac69b29 100644 --- a/src/EFCore/ChangeTracking/Internal/KeyValueFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/KeyValueFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class KeyValueFactoryFactory { /// diff --git a/src/EFCore/ChangeTracking/Internal/LocalViewListener.cs b/src/EFCore/ChangeTracking/Internal/LocalViewListener.cs index a7f55c85451..a856d50283d 100644 --- a/src/EFCore/ChangeTracking/Internal/LocalViewListener.cs +++ b/src/EFCore/ChangeTracking/Internal/LocalViewListener.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class LocalViewListener : ILocalViewListener { private readonly IList> _viewActions diff --git a/src/EFCore/ChangeTracking/Internal/MultiSnapshot.cs b/src/EFCore/ChangeTracking/Internal/MultiSnapshot.cs index 5b5164c702f..2dd02889dfe 100644 --- a/src/EFCore/ChangeTracking/Internal/MultiSnapshot.cs +++ b/src/EFCore/ChangeTracking/Internal/MultiSnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public readonly struct MultiSnapshot : ISnapshot { private readonly ISnapshot[] _snapshots; diff --git a/src/EFCore/ChangeTracking/Internal/NavigationFixer.cs b/src/EFCore/ChangeTracking/Internal/NavigationFixer.cs index 86a1ae7a5ff..1cfaaf9b773 100644 --- a/src/EFCore/ChangeTracking/Internal/NavigationFixer.cs +++ b/src/EFCore/ChangeTracking/Internal/NavigationFixer.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NavigationFixer : INavigationFixer { private IList<( diff --git a/src/EFCore/ChangeTracking/Internal/NullableClassCurrentProviderValueComparer.cs b/src/EFCore/ChangeTracking/Internal/NullableClassCurrentProviderValueComparer.cs index d69b9108e06..6de19ed498e 100644 --- a/src/EFCore/ChangeTracking/Internal/NullableClassCurrentProviderValueComparer.cs +++ b/src/EFCore/ChangeTracking/Internal/NullableClassCurrentProviderValueComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NullableClassCurrentProviderValueComparer : IComparer where TModel : class { diff --git a/src/EFCore/ChangeTracking/Internal/NullableCurrentProviderValueComparer.cs b/src/EFCore/ChangeTracking/Internal/NullableCurrentProviderValueComparer.cs index 765f6766a59..8595791da3e 100644 --- a/src/EFCore/ChangeTracking/Internal/NullableCurrentProviderValueComparer.cs +++ b/src/EFCore/ChangeTracking/Internal/NullableCurrentProviderValueComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NullableStructCurrentProviderValueComparer : IComparer where TModel : struct { diff --git a/src/EFCore/ChangeTracking/Internal/NullableKeyIdentityMap.cs b/src/EFCore/ChangeTracking/Internal/NullableKeyIdentityMap.cs index 44e2011c83a..bbd647777c3 100644 --- a/src/EFCore/ChangeTracking/Internal/NullableKeyIdentityMap.cs +++ b/src/EFCore/ChangeTracking/Internal/NullableKeyIdentityMap.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NullableKeyIdentityMap : IdentityMap where TKey : notnull { diff --git a/src/EFCore/ChangeTracking/Internal/OriginalPropertyValues.cs b/src/EFCore/ChangeTracking/Internal/OriginalPropertyValues.cs index 302df0ab572..332f19f0676 100644 --- a/src/EFCore/ChangeTracking/Internal/OriginalPropertyValues.cs +++ b/src/EFCore/ChangeTracking/Internal/OriginalPropertyValues.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class OriginalPropertyValues : EntryPropertyValues { /// diff --git a/src/EFCore/ChangeTracking/Internal/OriginalValuesFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/OriginalValuesFactoryFactory.cs index 23bdf30c55f..92e8a58f4eb 100644 --- a/src/EFCore/ChangeTracking/Internal/OriginalValuesFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/OriginalValuesFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class OriginalValuesFactoryFactory : SnapshotFactoryFactory { private static readonly MethodInfo _getValueComparerMethod diff --git a/src/EFCore/ChangeTracking/Internal/RelationshipSnapshotFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/RelationshipSnapshotFactoryFactory.cs index 2557ec81cce..41fc4ac67bd 100644 --- a/src/EFCore/ChangeTracking/Internal/RelationshipSnapshotFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/RelationshipSnapshotFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class RelationshipSnapshotFactoryFactory : SnapshotFactoryFactory { private static readonly MethodInfo _getValueComparerMethod diff --git a/src/EFCore/ChangeTracking/Internal/ShadowValuesFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/ShadowValuesFactoryFactory.cs index 9b845c7edbb..177ab556af1 100644 --- a/src/EFCore/ChangeTracking/Internal/ShadowValuesFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/ShadowValuesFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ShadowValuesFactoryFactory : SnapshotFactoryFactory> { private ShadowValuesFactoryFactory() diff --git a/src/EFCore/ChangeTracking/Internal/SidecarValuesFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/SidecarValuesFactoryFactory.cs index 6cce1abafd5..dbcf6323003 100644 --- a/src/EFCore/ChangeTracking/Internal/SidecarValuesFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SidecarValuesFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SidecarValuesFactoryFactory : SnapshotFactoryFactory { private static readonly MethodInfo _getValueComparerMethod diff --git a/src/EFCore/ChangeTracking/Internal/SimpleFullyNullableDependentKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/SimpleFullyNullableDependentKeyValueFactory.cs index 03bea964589..dbd171e76c7 100644 --- a/src/EFCore/ChangeTracking/Internal/SimpleFullyNullableDependentKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SimpleFullyNullableDependentKeyValueFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SimpleFullyNullableDependentKeyValueFactory : DependentKeyValueFactory, IDependentKeyValueFactory where TKey : notnull { diff --git a/src/EFCore/ChangeTracking/Internal/SimpleNonNullableDependentKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/SimpleNonNullableDependentKeyValueFactory.cs index dffbf8b6efb..582887bced6 100644 --- a/src/EFCore/ChangeTracking/Internal/SimpleNonNullableDependentKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SimpleNonNullableDependentKeyValueFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SimpleNonNullableDependentKeyValueFactory : DependentKeyValueFactory, IDependentKeyValueFactory where TKey : notnull { diff --git a/src/EFCore/ChangeTracking/Internal/SimpleNullableDependentKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/SimpleNullableDependentKeyValueFactory.cs index a71f44bd3a4..92127a5cbbf 100644 --- a/src/EFCore/ChangeTracking/Internal/SimpleNullableDependentKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SimpleNullableDependentKeyValueFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SimpleNullableDependentKeyValueFactory : DependentKeyValueFactory, IDependentKeyValueFactory where TKey : struct { diff --git a/src/EFCore/ChangeTracking/Internal/SimpleNullablePrincipalDependentKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/SimpleNullablePrincipalDependentKeyValueFactory.cs index 822b015ecb8..f2ba1ef8aa6 100644 --- a/src/EFCore/ChangeTracking/Internal/SimpleNullablePrincipalDependentKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SimpleNullablePrincipalDependentKeyValueFactory.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SimpleNullablePrincipalDependentKeyValueFactory : DependentKeyValueFactory, IDependentKeyValueFactory where TKey : notnull diff --git a/src/EFCore/ChangeTracking/Internal/SimplePrincipalKeyValueFactory.cs b/src/EFCore/ChangeTracking/Internal/SimplePrincipalKeyValueFactory.cs index 43b782066a0..265516ef0e6 100644 --- a/src/EFCore/ChangeTracking/Internal/SimplePrincipalKeyValueFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SimplePrincipalKeyValueFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SimplePrincipalKeyValueFactory : IPrincipalKeyValueFactory { private readonly IKey _key; diff --git a/src/EFCore/ChangeTracking/Internal/Snapshot.cs b/src/EFCore/ChangeTracking/Internal/Snapshot.cs index 9bd08b53dbb..1bcd2fbb130 100644 --- a/src/EFCore/ChangeTracking/Internal/Snapshot.cs +++ b/src/EFCore/ChangeTracking/Internal/Snapshot.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { /// @@ -128,6 +129,7 @@ bool ISnapshot.IsEmpty /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -486,6 +488,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -834,6 +837,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -1172,6 +1176,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -1500,6 +1505,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -1818,6 +1824,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -2101,6 +2108,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot @@ -2375,6 +2383,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -2639,6 +2648,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -2872,6 +2882,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -3097,6 +3108,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -3314,6 +3326,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -3523,6 +3536,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -3724,6 +3738,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -3916,6 +3931,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -4100,6 +4116,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -4276,6 +4293,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -4444,6 +4462,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -4604,6 +4623,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -4756,6 +4776,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -4900,6 +4921,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5036,6 +5058,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5164,6 +5187,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5284,6 +5308,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5396,6 +5421,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5500,6 +5526,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5596,6 +5623,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5684,6 +5712,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5762,6 +5791,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { @@ -5830,6 +5860,7 @@ public object? this[int index] /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class Snapshot : ISnapshot { diff --git a/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory.cs index d7cae14cec3..12051d6b20c 100644 --- a/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class SnapshotFactoryFactory { /// diff --git a/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory`.cs b/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory`.cs index 375e5b8fe7a..a5c6453d866 100644 --- a/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory`.cs +++ b/src/EFCore/ChangeTracking/Internal/SnapshotFactoryFactory`.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class SnapshotFactoryFactory : SnapshotFactoryFactory { /// diff --git a/src/EFCore/ChangeTracking/Internal/StateManager.cs b/src/EFCore/ChangeTracking/Internal/StateManager.cs index 3f32a1e16fb..8d3cd844b3d 100644 --- a/src/EFCore/ChangeTracking/Internal/StateManager.cs +++ b/src/EFCore/ChangeTracking/Internal/StateManager.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StateManager : IStateManager { private readonly EntityReferenceMap _entityReferenceMap = new(hasSubMap: true); diff --git a/src/EFCore/ChangeTracking/Internal/StateManagerDependencies.cs b/src/EFCore/ChangeTracking/Internal/StateManagerDependencies.cs index 3b449b35304..92af4f9852d 100644 --- a/src/EFCore/ChangeTracking/Internal/StateManagerDependencies.cs +++ b/src/EFCore/ChangeTracking/Internal/StateManagerDependencies.cs @@ -30,6 +30,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// The implementation does not need to be thread-safe. /// /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed record StateManagerDependencies { /// @@ -46,7 +47,7 @@ public sealed record StateManagerDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public StateManagerDependencies( IInternalEntityEntrySubscriber internalEntityEntrySubscriber, IInternalEntityEntryNotifier internalEntityEntryNotifier, @@ -147,7 +148,7 @@ public StateManagerDependencies( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IDbSetSource SetSource { get; init; } /// @@ -156,7 +157,7 @@ public StateManagerDependencies( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IEntityFinderSource EntityFinderSource { get; init; } /// diff --git a/src/EFCore/ChangeTracking/Internal/StateManagerExtensions.cs b/src/EFCore/ChangeTracking/Internal/StateManagerExtensions.cs index e53e60e9e34..2fd70abe81e 100644 --- a/src/EFCore/ChangeTracking/Internal/StateManagerExtensions.cs +++ b/src/EFCore/ChangeTracking/Internal/StateManagerExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class StateManagerExtensions { /// diff --git a/src/EFCore/ChangeTracking/Internal/StoreGeneratedValuesFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/StoreGeneratedValuesFactoryFactory.cs index 884bfce0bb0..0643f9d004f 100644 --- a/src/EFCore/ChangeTracking/Internal/StoreGeneratedValuesFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/StoreGeneratedValuesFactoryFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StoreGeneratedValuesFactoryFactory : SidecarValuesFactoryFactory { private StoreGeneratedValuesFactoryFactory() diff --git a/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentProviderValueComparer.cs b/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentProviderValueComparer.cs index a1448a4b41c..dd55802108b 100644 --- a/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentProviderValueComparer.cs +++ b/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentProviderValueComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StructuralEntryCurrentProviderValueComparer : StructuralEntryCurrentValueComparer { private readonly ValueConverter _converter; diff --git a/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentValueComparer.cs b/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentValueComparer.cs index 0aed52dc2c9..bfc42203f99 100644 --- a/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentValueComparer.cs +++ b/src/EFCore/ChangeTracking/Internal/StructuralEntryCurrentValueComparer.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StructuralEntryCurrentValueComparer : EntryCurrentValueComparer { /// diff --git a/src/EFCore/ChangeTracking/Internal/TemporaryValuesFactoryFactory.cs b/src/EFCore/ChangeTracking/Internal/TemporaryValuesFactoryFactory.cs index 459a815fc28..985ecec7ea9 100644 --- a/src/EFCore/ChangeTracking/Internal/TemporaryValuesFactoryFactory.cs +++ b/src/EFCore/ChangeTracking/Internal/TemporaryValuesFactoryFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryValuesFactoryFactory : SidecarValuesFactoryFactory { private TemporaryValuesFactoryFactory() diff --git a/src/EFCore/ChangeTracking/Internal/ValueComparerExtensions.cs b/src/EFCore/ChangeTracking/Internal/ValueComparerExtensions.cs index b0beec1b922..f19431767d0 100644 --- a/src/EFCore/ChangeTracking/Internal/ValueComparerExtensions.cs +++ b/src/EFCore/ChangeTracking/Internal/ValueComparerExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ValueComparerExtensions { /// diff --git a/src/EFCore/ChangeTracking/Internal/ValueGenerationManager.cs b/src/EFCore/ChangeTracking/Internal/ValueGenerationManager.cs index 14350e3ab34..654e3a8928d 100644 --- a/src/EFCore/ChangeTracking/Internal/ValueGenerationManager.cs +++ b/src/EFCore/ChangeTracking/Internal/ValueGenerationManager.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ValueGenerationManager : IValueGenerationManager { private readonly IValueGeneratorSelector _valueGeneratorSelector; diff --git a/src/EFCore/ChangeTracking/LocalView.cs b/src/EFCore/ChangeTracking/LocalView.cs index 67887ccd149..2b7134fa272 100644 --- a/src/EFCore/ChangeTracking/LocalView.cs +++ b/src/EFCore/ChangeTracking/LocalView.cs @@ -71,7 +71,7 @@ public class LocalView<[DynamicallyAccessedMembers(IEntityType.DynamicallyAccess /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public LocalView(DbSet set) { _context = set.GetService().Context; diff --git a/src/EFCore/ChangeTracking/MemberEntry.cs b/src/EFCore/ChangeTracking/MemberEntry.cs index d74622fc4f4..ec2c558e32c 100644 --- a/src/EFCore/ChangeTracking/MemberEntry.cs +++ b/src/EFCore/ChangeTracking/MemberEntry.cs @@ -33,7 +33,7 @@ public abstract class MemberEntry : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected MemberEntry(InternalEntityEntry internalEntry, IPropertyBase metadata) { InternalEntry = internalEntry; @@ -46,7 +46,7 @@ protected MemberEntry(InternalEntityEntry internalEntry, IPropertyBase metadata) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityEntry InternalEntry { get; } /// @@ -105,7 +105,7 @@ public virtual EntityEntry EntityEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] InternalEntityEntry IInfrastructure.Instance => InternalEntry; diff --git a/src/EFCore/ChangeTracking/NavigationEntry.cs b/src/EFCore/ChangeTracking/NavigationEntry.cs index 3e7f3ce14dd..a4bd9e14d39 100644 --- a/src/EFCore/ChangeTracking/NavigationEntry.cs +++ b/src/EFCore/ChangeTracking/NavigationEntry.cs @@ -27,7 +27,7 @@ public abstract class NavigationEntry : MemberEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected NavigationEntry(InternalEntityEntry internalEntry, string name, bool collection) : this(internalEntry, GetNavigation(internalEntry, name), collection) { @@ -39,7 +39,7 @@ protected NavigationEntry(InternalEntityEntry internalEntry, string name, bool c /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected NavigationEntry(InternalEntityEntry internalEntry, INavigationBase navigationBase, bool collection) : base(internalEntry, navigationBase) { diff --git a/src/EFCore/ChangeTracking/PropertyEntry.cs b/src/EFCore/ChangeTracking/PropertyEntry.cs index c62c229c7e6..51892820de6 100644 --- a/src/EFCore/ChangeTracking/PropertyEntry.cs +++ b/src/EFCore/ChangeTracking/PropertyEntry.cs @@ -26,7 +26,7 @@ public class PropertyEntry : MemberEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PropertyEntry(InternalEntityEntry internalEntry, IProperty property) : base(internalEntry, property) { diff --git a/src/EFCore/ChangeTracking/PropertyEntry`.cs b/src/EFCore/ChangeTracking/PropertyEntry`.cs index 054c97e494d..33cbadd1450 100644 --- a/src/EFCore/ChangeTracking/PropertyEntry`.cs +++ b/src/EFCore/ChangeTracking/PropertyEntry`.cs @@ -29,7 +29,7 @@ public class PropertyEntry : PropertyEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PropertyEntry(InternalEntityEntry internalEntry, IProperty property) : base(internalEntry, property) { diff --git a/src/EFCore/ChangeTracking/PropertyValues.cs b/src/EFCore/ChangeTracking/PropertyValues.cs index 6e56d9815df..7e5d707559f 100644 --- a/src/EFCore/ChangeTracking/PropertyValues.cs +++ b/src/EFCore/ChangeTracking/PropertyValues.cs @@ -30,7 +30,7 @@ public abstract class PropertyValues /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected PropertyValues(InternalEntityEntry internalEntry) { InternalEntry = internalEntry; @@ -42,7 +42,7 @@ protected PropertyValues(InternalEntityEntry internalEntry) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityEntry InternalEntry { [DebuggerStepThrough] get; } /// diff --git a/src/EFCore/ChangeTracking/ReferenceEntry.cs b/src/EFCore/ChangeTracking/ReferenceEntry.cs index b8550dc315d..8c43029a768 100644 --- a/src/EFCore/ChangeTracking/ReferenceEntry.cs +++ b/src/EFCore/ChangeTracking/ReferenceEntry.cs @@ -31,7 +31,7 @@ public class ReferenceEntry : NavigationEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceEntry(InternalEntityEntry internalEntry, string name) : base(internalEntry, name, collection: false) { @@ -47,7 +47,7 @@ public ReferenceEntry(InternalEntityEntry internalEntry, string name) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceEntry(InternalEntityEntry internalEntry, INavigation navigation) : base(internalEntry, navigation, collection: false) { @@ -264,7 +264,7 @@ public virtual EntityEntry? TargetEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityEntry? GetTargetEntry() => CurrentValue == null ? null diff --git a/src/EFCore/ChangeTracking/ReferenceEntry`.cs b/src/EFCore/ChangeTracking/ReferenceEntry`.cs index b435f9a1a7a..910506d46fe 100644 --- a/src/EFCore/ChangeTracking/ReferenceEntry`.cs +++ b/src/EFCore/ChangeTracking/ReferenceEntry`.cs @@ -31,7 +31,7 @@ public class ReferenceEntry : ReferenceEntry /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceEntry(InternalEntityEntry internalEntry, string name) : base(internalEntry, name) { @@ -43,7 +43,7 @@ public ReferenceEntry(InternalEntityEntry internalEntry, string name) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceEntry(InternalEntityEntry internalEntry, INavigation navigation) : base(internalEntry, navigation) { diff --git a/src/EFCore/ChangeTracking/ValueComparer.cs b/src/EFCore/ChangeTracking/ValueComparer.cs index 2b5e80fd71f..0805c5af2d6 100644 --- a/src/EFCore/ChangeTracking/ValueComparer.cs +++ b/src/EFCore/ChangeTracking/ValueComparer.cs @@ -49,7 +49,7 @@ internal static readonly MethodInfo ObjectGetHashCodeMethod /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static MethodInfo GetGenericSnapshotMethod(Type type) => _genericSnapshotMethodMap.GetOrAdd(type, t => typeof(ValueComparer<>).MakeGenericType(t).GetGenericMethod( @@ -65,7 +65,7 @@ public static MethodInfo GetGenericSnapshotMethod(Type type) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected static readonly MethodInfo HashCodeAddMethod = typeof(ValueComparer).GetRuntimeMethod(nameof(Add), [typeof(HashCode), typeof(int)])!; @@ -75,7 +75,7 @@ protected static readonly MethodInfo HashCodeAddMethod /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected static readonly MethodInfo ToHashCodeMethod = typeof(HashCode).GetRuntimeMethod(nameof(HashCode.ToHashCode), new Type[0])!; @@ -85,7 +85,7 @@ protected static readonly MethodInfo ToHashCodeMethod /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected static readonly Expression> BoolIdentity; static ValueComparer() @@ -231,7 +231,7 @@ public virtual Expression ExtractSnapshotBody(Expression expression) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static HashCode Add(HashCode hash, int code) { hash.Add(code); diff --git a/src/EFCore/DbContext.cs b/src/EFCore/DbContext.cs index 4c3d455cfe1..2c212e0fae4 100644 --- a/src/EFCore/DbContext.cs +++ b/src/EFCore/DbContext.cs @@ -201,7 +201,7 @@ public virtual DbContextId ContextId /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IDbSetSource IDbContextDependencies.SetSource => DbContextDependencies.SetSource; @@ -211,7 +211,7 @@ IDbSetSource IDbContextDependencies.SetSource /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IEntityFinderFactory IDbContextDependencies.EntityFinderFactory => DbContextDependencies.EntityFinderFactory; @@ -221,7 +221,7 @@ IEntityFinderFactory IDbContextDependencies.EntityFinderFactory /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IAsyncQueryProvider IDbContextDependencies.QueryProvider => DbContextDependencies.QueryProvider; @@ -231,7 +231,7 @@ IAsyncQueryProvider IDbContextDependencies.QueryProvider /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IStateManager IDbContextDependencies.StateManager => DbContextDependencies.StateManager; @@ -241,7 +241,7 @@ IStateManager IDbContextDependencies.StateManager /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IChangeDetector IDbContextDependencies.ChangeDetector => DbContextDependencies.ChangeDetector; @@ -251,7 +251,7 @@ IChangeDetector IDbContextDependencies.ChangeDetector /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IEntityGraphAttacher IDbContextDependencies.EntityGraphAttacher => DbContextDependencies.EntityGraphAttacher; @@ -261,7 +261,7 @@ IEntityGraphAttacher IDbContextDependencies.EntityGraphAttacher /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IExceptionDetector IDbContextDependencies.ExceptionDetector => DbContextDependencies.ExceptionDetector; @@ -271,7 +271,7 @@ IExceptionDetector IDbContextDependencies.ExceptionDetector /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IDiagnosticsLogger IDbContextDependencies.UpdateLogger => DbContextDependencies.UpdateLogger; @@ -281,7 +281,7 @@ IExceptionDetector IDbContextDependencies.ExceptionDetector /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IDiagnosticsLogger IDbContextDependencies.InfrastructureLogger => DbContextDependencies.InfrastructureLogger; @@ -291,7 +291,7 @@ IExceptionDetector IDbContextDependencies.ExceptionDetector /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] object IDbSetCache.GetOrAddSet( IDbSetSource source, [DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] Type type) @@ -316,7 +316,7 @@ object IDbSetCache.GetOrAddSet( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] object IDbSetCache.GetOrAddSet( IDbSetSource source, string entityTypeName, @@ -342,7 +342,7 @@ object IDbSetCache.GetOrAddSet( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IEnumerable IDbSetCache.GetSets() => _sets?.Values ?? Enumerable.Empty(); @@ -860,7 +860,7 @@ public virtual async Task SaveChangesAsync( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] void IDbContextPoolable.ClearLease() => _lease = DbContextLease.InactiveLease; @@ -870,7 +870,7 @@ void IDbContextPoolable.ClearLease() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] void IDbContextPoolable.SetLease(DbContextLease lease) => SetLeaseInternal(lease); @@ -880,7 +880,7 @@ void IDbContextPoolable.SetLease(DbContextLease lease) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] Task IDbContextPoolable.SetLeaseAsync(DbContextLease lease, CancellationToken cancellationToken) { SetLeaseInternal(lease); @@ -950,7 +950,7 @@ private void SetLeaseInternal(DbContextLease lease) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] void IDbContextPoolable.SnapshotConfiguration() { var stateManagerEvents = _dbContextDependencies?.StateManager.CaptureEvents(); @@ -987,7 +987,7 @@ void IDbContextPoolable.SnapshotConfiguration() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] void IResettableService.ResetState() { foreach (var service in GetResettableServices()) @@ -1004,7 +1004,7 @@ void IResettableService.ResetState() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] async Task IResettableService.ResetStateAsync(CancellationToken cancellationToken) { foreach (var service in GetResettableServices()) diff --git a/src/EFCore/DbContextOptions.cs b/src/EFCore/DbContextOptions.cs index e618baca285..8497782cc39 100644 --- a/src/EFCore/DbContextOptions.cs +++ b/src/EFCore/DbContextOptions.cs @@ -24,7 +24,7 @@ public abstract class DbContextOptions : IDbContextOptions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected DbContextOptions() { _extensionsMap = ImmutableSortedDictionary.Create(TypeFullNameComparer.Instance); @@ -36,7 +36,7 @@ protected DbContextOptions() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected DbContextOptions( IReadOnlyDictionary extensions) { @@ -50,7 +50,7 @@ protected DbContextOptions( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected DbContextOptions( ImmutableSortedDictionary extensions) { @@ -105,7 +105,7 @@ public abstract DbContextOptions WithExtension(TExtension extension) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual ImmutableSortedDictionary ExtensionsMap => _extensionsMap; diff --git a/src/EFCore/Design/EntityFrameworkDesignServicesBuilder.cs b/src/EFCore/Design/EntityFrameworkDesignServicesBuilder.cs index 21382137844..c23369bb21e 100644 --- a/src/EFCore/Design/EntityFrameworkDesignServicesBuilder.cs +++ b/src/EFCore/Design/EntityFrameworkDesignServicesBuilder.cs @@ -36,7 +36,7 @@ public class EntityFrameworkDesignServicesBuilder : EntityFrameworkServicesBuild /// This dictionary is exposed for testing and provider-validation only. /// It should not be used from application code. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static readonly IDictionary Services = new Dictionary { diff --git a/src/EFCore/Design/ICSharpHelper.cs b/src/EFCore/Design/ICSharpHelper.cs index 814134f5f6a..3bf52ff2684 100644 --- a/src/EFCore/Design/ICSharpHelper.cs +++ b/src/EFCore/Design/ICSharpHelper.cs @@ -347,7 +347,7 @@ string Literal(Dictionary values, bool vertical = fa /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] string Statement(Expression node, ISet collectedNamespaces, IReadOnlyDictionary? constantReplacements = null, @@ -367,7 +367,7 @@ string Statement(Expression node, /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] string Expression(Expression node, ISet collectedNamespaces, IReadOnlyDictionary? constantReplacements = null, diff --git a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs index ffd417abded..7a84059ac60 100644 --- a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// /// Base class to be used by database providers when implementing an /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CSharpRuntimeAnnotationCodeGenerator : ICSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorDependencies.cs b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorDependencies.cs index 97b0f38a875..bc9aa9fbf2a 100644 --- a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorDependencies.cs +++ b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorDependencies.cs @@ -20,6 +20,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// first resolve the object from the dependency injection container, then replace selected /// services using the C# 'with' operator. Do not call the constructor at any point in this process. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed record CSharpRuntimeAnnotationCodeGeneratorDependencies { /// @@ -36,7 +37,7 @@ public sealed record CSharpRuntimeAnnotationCodeGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CSharpRuntimeAnnotationCodeGeneratorDependencies(ICSharpHelper cSharpHelper) { CSharpHelper = cSharpHelper; diff --git a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorParameters.cs b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorParameters.cs index d16cf567d77..830bec94a40 100644 --- a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorParameters.cs +++ b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGeneratorParameters.cs @@ -6,6 +6,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// /// The parameter object for a /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed record CSharpRuntimeAnnotationCodeGeneratorParameters { /// @@ -22,7 +23,7 @@ public sealed record CSharpRuntimeAnnotationCodeGeneratorParameters /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CSharpRuntimeAnnotationCodeGeneratorParameters( string targetName, string className, diff --git a/src/EFCore/Design/Internal/ICSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore/Design/Internal/ICSharpRuntimeAnnotationCodeGenerator.cs index fe15c2e5f5f..d862ce4c456 100644 --- a/src/EFCore/Design/Internal/ICSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore/Design/Internal/ICSharpRuntimeAnnotationCodeGenerator.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ICSharpRuntimeAnnotationCodeGenerator { /// diff --git a/src/EFCore/Design/Internal/MemberAccess.cs b/src/EFCore/Design/Internal/MemberAccess.cs index 7bf8836a34c..a68662c735b 100644 --- a/src/EFCore/Design/Internal/MemberAccess.cs +++ b/src/EFCore/Design/Internal/MemberAccess.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Design.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public readonly record struct MemberAccess(MemberInfo member, bool assignment) { /// diff --git a/src/EFCore/Diagnostics/IdentityResolutionInterceptionData.cs b/src/EFCore/Diagnostics/IdentityResolutionInterceptionData.cs index 47d407ced20..4e9b088488c 100644 --- a/src/EFCore/Diagnostics/IdentityResolutionInterceptionData.cs +++ b/src/EFCore/Diagnostics/IdentityResolutionInterceptionData.cs @@ -17,7 +17,7 @@ public readonly struct IdentityResolutionInterceptionData /// Constructs the parameter object. /// /// The in use. - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] [UsedImplicitly] public IdentityResolutionInterceptionData(DbContext context) { diff --git a/src/EFCore/Diagnostics/InstantiationBindingInterceptionData.cs b/src/EFCore/Diagnostics/InstantiationBindingInterceptionData.cs index 5341c44a67d..f2dd6697101 100644 --- a/src/EFCore/Diagnostics/InstantiationBindingInterceptionData.cs +++ b/src/EFCore/Diagnostics/InstantiationBindingInterceptionData.cs @@ -17,7 +17,7 @@ public readonly struct InstantiationBindingInterceptionData /// Constructs the parameter object. /// /// The entity type for which the binding is being used. - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] [UsedImplicitly] public InstantiationBindingInterceptionData(ITypeBase typeBase) { diff --git a/src/EFCore/Diagnostics/Internal/DelegatingDbContextLogger.cs b/src/EFCore/Diagnostics/Internal/DelegatingDbContextLogger.cs index 0e63098c53f..ea5562f1885 100644 --- a/src/EFCore/Diagnostics/Internal/DelegatingDbContextLogger.cs +++ b/src/EFCore/Diagnostics/Internal/DelegatingDbContextLogger.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DelegatingDbContextLogger : IDbContextLogger { private readonly Action _logger; diff --git a/src/EFCore/Diagnostics/Internal/DiagnosticsLogger.cs b/src/EFCore/Diagnostics/Internal/DiagnosticsLogger.cs index babebe150d7..42e7b4ef265 100644 --- a/src/EFCore/Diagnostics/Internal/DiagnosticsLogger.cs +++ b/src/EFCore/Diagnostics/Internal/DiagnosticsLogger.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DiagnosticsLogger : IDiagnosticsLogger where TLoggerCategory : LoggerCategory, new() { diff --git a/src/EFCore/Diagnostics/Internal/FormattingDbContextLogger.cs b/src/EFCore/Diagnostics/Internal/FormattingDbContextLogger.cs index e120e63dda4..e4ebd694670 100644 --- a/src/EFCore/Diagnostics/Internal/FormattingDbContextLogger.cs +++ b/src/EFCore/Diagnostics/Internal/FormattingDbContextLogger.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class FormattingDbContextLogger : IDbContextLogger { private readonly Action _sink; diff --git a/src/EFCore/Diagnostics/Internal/IdentityResolutionInterceptorAggregator.cs b/src/EFCore/Diagnostics/Internal/IdentityResolutionInterceptorAggregator.cs index 185ccc1beb0..385ffa9df54 100644 --- a/src/EFCore/Diagnostics/Internal/IdentityResolutionInterceptorAggregator.cs +++ b/src/EFCore/Diagnostics/Internal/IdentityResolutionInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class IdentityResolutionInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore/Diagnostics/Internal/Interceptors.cs b/src/EFCore/Diagnostics/Internal/Interceptors.cs index 9047238e651..de522ae60d3 100644 --- a/src/EFCore/Diagnostics/Internal/Interceptors.cs +++ b/src/EFCore/Diagnostics/Internal/Interceptors.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Interceptors : IInterceptors { private readonly IServiceProvider _serviceProvider; diff --git a/src/EFCore/Diagnostics/Internal/LoggingOptions.cs b/src/EFCore/Diagnostics/Internal/LoggingOptions.cs index 1ce5f190765..f68073906d4 100644 --- a/src/EFCore/Diagnostics/Internal/LoggingOptions.cs +++ b/src/EFCore/Diagnostics/Internal/LoggingOptions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class LoggingOptions : ILoggingOptions { private readonly ConcurrentDictionary _warnedForStringEnums = new(); diff --git a/src/EFCore/Diagnostics/Internal/MaterializationInterceptorAggregator.cs b/src/EFCore/Diagnostics/Internal/MaterializationInterceptorAggregator.cs index 75c3228d65a..dd43c9852a0 100644 --- a/src/EFCore/Diagnostics/Internal/MaterializationInterceptorAggregator.cs +++ b/src/EFCore/Diagnostics/Internal/MaterializationInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class MaterializationInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore/Diagnostics/Internal/NullDbContextLogger.cs b/src/EFCore/Diagnostics/Internal/NullDbContextLogger.cs index fc778e326cd..64f506bea3c 100644 --- a/src/EFCore/Diagnostics/Internal/NullDbContextLogger.cs +++ b/src/EFCore/Diagnostics/Internal/NullDbContextLogger.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NullDbContextLogger : IDbContextLogger { /// diff --git a/src/EFCore/Diagnostics/Internal/QueryExpressionInterceptorAggregator.cs b/src/EFCore/Diagnostics/Internal/QueryExpressionInterceptorAggregator.cs index e8f546be816..54d41767c94 100644 --- a/src/EFCore/Diagnostics/Internal/QueryExpressionInterceptorAggregator.cs +++ b/src/EFCore/Diagnostics/Internal/QueryExpressionInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryExpressionInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore/Diagnostics/Internal/SaveChangesInterceptorAggregator.cs b/src/EFCore/Diagnostics/Internal/SaveChangesInterceptorAggregator.cs index 02a572e3723..316d995be08 100644 --- a/src/EFCore/Diagnostics/Internal/SaveChangesInterceptorAggregator.cs +++ b/src/EFCore/Diagnostics/Internal/SaveChangesInterceptorAggregator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SaveChangesInterceptorAggregator : InterceptorAggregator { /// diff --git a/src/EFCore/Diagnostics/Internal/ScopedLoggerFactory.cs b/src/EFCore/Diagnostics/Internal/ScopedLoggerFactory.cs index b26844adeaa..dd831db9d9f 100644 --- a/src/EFCore/Diagnostics/Internal/ScopedLoggerFactory.cs +++ b/src/EFCore/Diagnostics/Internal/ScopedLoggerFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ScopedLoggerFactory : ILoggerFactory { private readonly ILoggerFactory _underlyingFactory; diff --git a/src/EFCore/Diagnostics/LoggingDefinitions.cs b/src/EFCore/Diagnostics/LoggingDefinitions.cs index 0082443fd2c..fdebb15f7f3 100644 --- a/src/EFCore/Diagnostics/LoggingDefinitions.cs +++ b/src/EFCore/Diagnostics/LoggingDefinitions.cs @@ -31,7 +31,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogServiceProviderCreated; /// @@ -40,7 +40,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogManyServiceProvidersCreated; /// @@ -49,7 +49,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMappedEntityTypeIgnored; /// @@ -58,7 +58,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMappedNavigationIgnored; /// @@ -67,7 +67,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMappedPropertyIgnored; /// @@ -76,7 +76,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMappedComplexPropertyIgnored; /// @@ -85,7 +85,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogServiceProviderDebugInfo; /// @@ -94,7 +94,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogContextInitialized; /// @@ -103,7 +103,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogOldModelVersion; /// @@ -112,7 +112,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogExceptionDuringQueryIteration; /// @@ -121,7 +121,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogExceptionDuringSaveChanges; /// @@ -130,7 +130,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogDetectChangesStarting; /// @@ -139,7 +139,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogDetectChangesCompleted; /// @@ -148,7 +148,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogPropertyChangeDetected; /// @@ -157,7 +157,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogPropertyChangeDetectedSensitive; /// @@ -166,7 +166,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogForeignKeyChangeDetected; /// @@ -175,7 +175,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogForeignKeyChangeDetectedSensitive; /// @@ -184,7 +184,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCollectionChangeDetected; /// @@ -193,7 +193,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCollectionChangeDetectedSensitive; /// @@ -202,7 +202,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSaveChangesCanceled; /// @@ -211,7 +211,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSkipCollectionChangeDetected; /// @@ -220,7 +220,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSkipCollectionChangeDetectedSensitive; /// @@ -229,7 +229,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogStringEnumValueInJson; /// @@ -238,7 +238,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogReferenceChangeDetected; /// @@ -247,7 +247,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogReferenceChangeDetectedSensitive; /// @@ -256,7 +256,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCascadeDelete; /// @@ -265,7 +265,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCascadeDeleteSensitive; /// @@ -274,7 +274,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCascadeDeleteOrphan; /// @@ -283,7 +283,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCascadeDeleteOrphanSensitive; /// @@ -292,7 +292,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogStartedTracking; /// @@ -301,7 +301,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogStartedTrackingSensitive; /// @@ -310,7 +310,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogStateChanged; /// @@ -319,7 +319,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogStateChangedSensitive; /// @@ -328,7 +328,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogValueGenerated; /// @@ -337,7 +337,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogValueGeneratedSensitive; /// @@ -346,7 +346,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogTempValueGenerated; /// @@ -355,7 +355,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogTempValueGeneratedSensitive; /// @@ -364,7 +364,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogTypeLoadingErrorWarning; /// @@ -373,7 +373,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSkippedEntityTypeConfigurationWarning; /// @@ -382,7 +382,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogNoEntityTypeConfigurationsWarning; /// @@ -391,7 +391,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSaveChangesStarting; /// @@ -400,7 +400,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSaveChangesCompleted; /// @@ -409,7 +409,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogContextDisposed; /// @@ -418,7 +418,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogIncludingNavigation; /// @@ -427,7 +427,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogQueryCanceled; /// @@ -436,7 +436,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogQueryExecutionPlanned; /// @@ -445,7 +445,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogSensitiveDataLoggingEnabled; /// @@ -454,7 +454,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogRowLimitingOperationWithoutOrderBy; /// @@ -463,7 +463,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogPossibleUnintendedCollectionNavigationNullComparison; /// @@ -472,7 +472,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogPossibleUnintendedReferenceComparison; /// @@ -481,7 +481,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogInvalidIncludePath; /// @@ -490,7 +490,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogDuplicateDependentEntityTypeInstance; /// @@ -499,7 +499,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogShadowPropertyCreated; /// @@ -508,7 +508,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogShadowForeignKeyPropertyCreated; /// @@ -517,7 +517,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogCollectionWithoutComparer; /// @@ -526,7 +526,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogExecutionStrategyRetrying; /// @@ -535,7 +535,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogNavigationLazyLoading; /// @@ -544,7 +544,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogLazyLoadOnDisposedContext; /// @@ -553,7 +553,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogDetachedLazyLoading; /// @@ -562,7 +562,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogRedundantAddServicesCall; /// @@ -571,7 +571,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogRedundantIndexRemoved; /// @@ -580,7 +580,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogIncompatibleMatchingForeignKeyProperties; /// @@ -589,7 +589,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogAmbiguousEndRequired; /// @@ -598,7 +598,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogForeignKeyAttributesOnBothNavigations; /// @@ -607,7 +607,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogRequiredAttributeOnCollection; /// @@ -616,7 +616,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogRequiredAttributeOnSkipNavigation; /// @@ -625,7 +625,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogForeignKeyAttributesOnBothProperties; /// @@ -634,7 +634,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogConflictingForeignKeyAttributesOnNavigationAndProperty; /// @@ -643,7 +643,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMultipleInversePropertiesSameTarget; /// @@ -652,7 +652,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogConflictingShadowForeignKeys; /// @@ -661,7 +661,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMultipleNavigationProperties; /// @@ -670,7 +670,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogMultiplePrimaryKeyCandidates; /// @@ -679,7 +679,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogNonOwnershipInverseNavigation; /// @@ -688,7 +688,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogFirstWithoutOrderByAndFilter; /// @@ -697,7 +697,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogDistinctAfterOrderByWithoutRowLimitingOperatorWarning; /// @@ -706,7 +706,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogNonDefiningInverseNavigation; /// @@ -715,7 +715,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogOptimisticConcurrencyException; /// @@ -724,7 +724,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogRedundantForeignKey; /// @@ -733,7 +733,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogConflictingKeylessAndKeyAttributes; /// @@ -742,7 +742,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogPossibleIncorrectRequiredNavigationWithQueryFilterInteraction; /// @@ -751,7 +751,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogNavigationBaseIncluded; /// @@ -760,7 +760,7 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogNavigationBaseIncludeIgnored; /// @@ -769,6 +769,6 @@ public abstract class LoggingDefinitions /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EventDefinitionBase? LogQueryCompilationStarting; } diff --git a/src/EFCore/Diagnostics/MaterializationInterceptionData.cs b/src/EFCore/Diagnostics/MaterializationInterceptionData.cs index 73cf44c1617..a808ca6bf10 100644 --- a/src/EFCore/Diagnostics/MaterializationInterceptionData.cs +++ b/src/EFCore/Diagnostics/MaterializationInterceptionData.cs @@ -23,7 +23,7 @@ public readonly struct MaterializationInterceptionData /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] [UsedImplicitly] public MaterializationInterceptionData( MaterializationContext materializationContext, diff --git a/src/EFCore/EFCore.csproj b/src/EFCore/EFCore.csproj index 77b927ca73d..f8c88e28499 100644 --- a/src/EFCore/EFCore.csproj +++ b/src/EFCore/EFCore.csproj @@ -13,10 +13,12 @@ Microsoft.EntityFrameworkCore.DbSet Microsoft.EntityFrameworkCore true true + $(NoWarn);EF9901 + @@ -50,6 +52,7 @@ Microsoft.EntityFrameworkCore.DbSet + diff --git a/src/EFCore/Extensions/Internal/DbContextExtensions.cs b/src/EFCore/Extensions/Internal/DbContextExtensions.cs index e747f45c422..3c190de7c07 100644 --- a/src/EFCore/Extensions/Internal/DbContextExtensions.cs +++ b/src/EFCore/Extensions/Internal/DbContextExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class DbContextExtensions { /// diff --git a/src/EFCore/Extensions/Internal/EntityTypeExtensions.cs b/src/EFCore/Extensions/Internal/EntityTypeExtensions.cs index fcc5d4d6ed6..bc7d8f4b372 100644 --- a/src/EFCore/Extensions/Internal/EntityTypeExtensions.cs +++ b/src/EFCore/Extensions/Internal/EntityTypeExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class EntityTypeExtensions { /// diff --git a/src/EFCore/Extensions/Internal/ExpressionExtensions.cs b/src/EFCore/Extensions/Internal/ExpressionExtensions.cs index 077bf18df50..ca7a4cd30ec 100644 --- a/src/EFCore/Extensions/Internal/ExpressionExtensions.cs +++ b/src/EFCore/Extensions/Internal/ExpressionExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ExpressionExtensions { /// diff --git a/src/EFCore/Extensions/Internal/MethodInfoExtensions.cs b/src/EFCore/Extensions/Internal/MethodInfoExtensions.cs index 2fe2f36a537..848b784da34 100644 --- a/src/EFCore/Extensions/Internal/MethodInfoExtensions.cs +++ b/src/EFCore/Extensions/Internal/MethodInfoExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// [DebuggerStepThrough] +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class MethodInfoExtensions { /// diff --git a/src/EFCore/Extensions/Internal/QueryableExtensions.cs b/src/EFCore/Extensions/Internal/QueryableExtensions.cs index 3d37474ceb6..336ddbe1369 100644 --- a/src/EFCore/Extensions/Internal/QueryableExtensions.cs +++ b/src/EFCore/Extensions/Internal/QueryableExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class QueryableExtensions { internal static readonly MethodInfo LeftJoinMethodInfo = typeof(QueryableExtensions).GetTypeInfo() diff --git a/src/EFCore/Extensions/Internal/TypeBaseExtensions.cs b/src/EFCore/Extensions/Internal/TypeBaseExtensions.cs index 518a7efba0f..c5f259416f2 100644 --- a/src/EFCore/Extensions/Internal/TypeBaseExtensions.cs +++ b/src/EFCore/Extensions/Internal/TypeBaseExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class TypeBaseExtensions { /// diff --git a/src/EFCore/Extensions/Internal/TypeExtensions.cs b/src/EFCore/Extensions/Internal/TypeExtensions.cs index a867c0afef5..c3246194252 100644 --- a/src/EFCore/Extensions/Internal/TypeExtensions.cs +++ b/src/EFCore/Extensions/Internal/TypeExtensions.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class TypeExtensions { /// diff --git a/src/EFCore/Infrastructure/DatabaseFacade.cs b/src/EFCore/Infrastructure/DatabaseFacade.cs index 893ae4b880f..8f6bf94d531 100644 --- a/src/EFCore/Infrastructure/DatabaseFacade.cs +++ b/src/EFCore/Infrastructure/DatabaseFacade.cs @@ -514,7 +514,7 @@ IServiceProvider IInfrastructure.Instance /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IDatabaseFacadeDependencies IDatabaseFacadeDependenciesAccessor.Dependencies => Dependencies; @@ -524,7 +524,7 @@ IDatabaseFacadeDependencies IDatabaseFacadeDependenciesAccessor.Dependencies /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] DbContext IDatabaseFacadeDependenciesAccessor.Context => _context; diff --git a/src/EFCore/Infrastructure/EntityFrameworkInternalAttribute.cs b/src/EFCore/Infrastructure/EntityFrameworkInternalAttribute.cs deleted file mode 100644 index 23d3bc84ed6..00000000000 --- a/src/EFCore/Infrastructure/EntityFrameworkInternalAttribute.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.EntityFrameworkCore.Infrastructure; - -/// -/// Marks an API as internal to Entity Framework Core. These APIs are 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 such APIs 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. -/// -[AttributeUsage( - AttributeTargets.Enum - | AttributeTargets.Class - | AttributeTargets.Struct - | AttributeTargets.Interface - | AttributeTargets.Event - | AttributeTargets.Field - | AttributeTargets.Method - | AttributeTargets.Delegate - | AttributeTargets.Property - | AttributeTargets.Constructor)] -public sealed class EntityFrameworkInternalAttribute : Attribute; diff --git a/src/EFCore/Infrastructure/EntityFrameworkServicesBuilder.cs b/src/EFCore/Infrastructure/EntityFrameworkServicesBuilder.cs index 60b90236db4..de63e330517 100644 --- a/src/EFCore/Infrastructure/EntityFrameworkServicesBuilder.cs +++ b/src/EFCore/Infrastructure/EntityFrameworkServicesBuilder.cs @@ -50,7 +50,7 @@ public class EntityFrameworkServicesBuilder /// This dictionary is exposed for testing and provider-validation only. /// It should not be used from application code. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static readonly IDictionary CoreServices = new Dictionary { diff --git a/src/EFCore/Infrastructure/Internal/ConcurrencyDetector.cs b/src/EFCore/Infrastructure/Internal/ConcurrencyDetector.cs index c63ae660642..d25b3a92c51 100644 --- a/src/EFCore/Infrastructure/Internal/ConcurrencyDetector.cs +++ b/src/EFCore/Infrastructure/Internal/ConcurrencyDetector.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ConcurrencyDetector : IConcurrencyDetector { private int _inCriticalSection; diff --git a/src/EFCore/Infrastructure/Internal/CoreSingletonOptions.cs b/src/EFCore/Infrastructure/Internal/CoreSingletonOptions.cs index ce4518826e4..1beac57cfdc 100644 --- a/src/EFCore/Infrastructure/Internal/CoreSingletonOptions.cs +++ b/src/EFCore/Infrastructure/Internal/CoreSingletonOptions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CoreSingletonOptions : ICoreSingletonOptions { /// diff --git a/src/EFCore/Infrastructure/Internal/CurrentDbContext.cs b/src/EFCore/Infrastructure/Internal/CurrentDbContext.cs index 5c7c0a1e0c7..52cba044382 100644 --- a/src/EFCore/Infrastructure/Internal/CurrentDbContext.cs +++ b/src/EFCore/Infrastructure/Internal/CurrentDbContext.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class CurrentDbContext : ICurrentDbContext { /// diff --git a/src/EFCore/Infrastructure/Internal/DbContextOptionsConfiguration.cs b/src/EFCore/Infrastructure/Internal/DbContextOptionsConfiguration.cs index 3e241b8a566..8f47c220ad7 100644 --- a/src/EFCore/Infrastructure/Internal/DbContextOptionsConfiguration.cs +++ b/src/EFCore/Infrastructure/Internal/DbContextOptionsConfiguration.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbContextOptionsConfiguration : IDbContextOptionsConfiguration where TContext : DbContext { diff --git a/src/EFCore/Infrastructure/Internal/DbContextOptionsExtensions.cs b/src/EFCore/Infrastructure/Internal/DbContextOptionsExtensions.cs index bdea334c859..36e2697aece 100644 --- a/src/EFCore/Infrastructure/Internal/DbContextOptionsExtensions.cs +++ b/src/EFCore/Infrastructure/Internal/DbContextOptionsExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class DbContextOptionsExtensions { /// diff --git a/src/EFCore/Infrastructure/Internal/DbSetFinder.cs b/src/EFCore/Infrastructure/Internal/DbSetFinder.cs index bab939cc544..e9170707114 100644 --- a/src/EFCore/Infrastructure/Internal/DbSetFinder.cs +++ b/src/EFCore/Infrastructure/Internal/DbSetFinder.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbSetFinder : IDbSetFinder { private readonly ConcurrentDictionary> _cache = new(); diff --git a/src/EFCore/Infrastructure/Internal/ILazyLoaderFactory.cs b/src/EFCore/Infrastructure/Internal/ILazyLoaderFactory.cs index 5dc41dbb17a..447079d9e7b 100644 --- a/src/EFCore/Infrastructure/Internal/ILazyLoaderFactory.cs +++ b/src/EFCore/Infrastructure/Internal/ILazyLoaderFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ILazyLoaderFactory : IDisposable, IResettableService { /// diff --git a/src/EFCore/Infrastructure/Internal/InfrastructureExtensions.cs b/src/EFCore/Infrastructure/Internal/InfrastructureExtensions.cs index b593c915ee6..81077e328b6 100644 --- a/src/EFCore/Infrastructure/Internal/InfrastructureExtensions.cs +++ b/src/EFCore/Infrastructure/Internal/InfrastructureExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class InfrastructureExtensions { /// diff --git a/src/EFCore/Infrastructure/Internal/InternalServiceCollectionMap.cs b/src/EFCore/Infrastructure/Internal/InternalServiceCollectionMap.cs index 84d1ed9108c..5521b9a8731 100644 --- a/src/EFCore/Infrastructure/Internal/InternalServiceCollectionMap.cs +++ b/src/EFCore/Infrastructure/Internal/InternalServiceCollectionMap.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalServiceCollectionMap : IInternalServiceCollectionMap { private readonly IDictionary> _serviceMap = new Dictionary>(); diff --git a/src/EFCore/Infrastructure/Internal/LazyLoader.cs b/src/EFCore/Infrastructure/Internal/LazyLoader.cs index 569bd45cd63..fca4270ba00 100644 --- a/src/EFCore/Infrastructure/Internal/LazyLoader.cs +++ b/src/EFCore/Infrastructure/Internal/LazyLoader.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class LazyLoader : ILazyLoader, IInjectableService { private QueryTrackingBehavior? _queryTrackingBehavior; diff --git a/src/EFCore/Infrastructure/Internal/LazyLoaderFactory.cs b/src/EFCore/Infrastructure/Internal/LazyLoaderFactory.cs index 54fd56eeba7..1bcd73586be 100644 --- a/src/EFCore/Infrastructure/Internal/LazyLoaderFactory.cs +++ b/src/EFCore/Infrastructure/Internal/LazyLoaderFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class LazyLoaderFactory : ILazyLoaderFactory { private readonly ICurrentDbContext _currentContext; diff --git a/src/EFCore/Infrastructure/Internal/MemberInfoNameComparer.cs b/src/EFCore/Infrastructure/Internal/MemberInfoNameComparer.cs index ce3fea8e934..911b702b2b4 100644 --- a/src/EFCore/Infrastructure/Internal/MemberInfoNameComparer.cs +++ b/src/EFCore/Infrastructure/Internal/MemberInfoNameComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Infrastructure.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class MemberInfoNameComparer : IComparer { /// diff --git a/src/EFCore/Infrastructure/ModelCacheKeyFactoryDependencies.cs b/src/EFCore/Infrastructure/ModelCacheKeyFactoryDependencies.cs index 9dd8c1b4ecb..b6c9813d7a2 100644 --- a/src/EFCore/Infrastructure/ModelCacheKeyFactoryDependencies.cs +++ b/src/EFCore/Infrastructure/ModelCacheKeyFactoryDependencies.cs @@ -44,7 +44,7 @@ public sealed record ModelCacheKeyFactoryDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelCacheKeyFactoryDependencies() { } diff --git a/src/EFCore/Infrastructure/ModelCreationDependencies.cs b/src/EFCore/Infrastructure/ModelCreationDependencies.cs index 9d6bfc3b98a..39699b05c1e 100644 --- a/src/EFCore/Infrastructure/ModelCreationDependencies.cs +++ b/src/EFCore/Infrastructure/ModelCreationDependencies.cs @@ -25,7 +25,7 @@ public sealed record ModelCreationDependencies /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelCreationDependencies( IModelSource modelSource, IConventionSetBuilder conventionSetBuilder, diff --git a/src/EFCore/Infrastructure/ModelCustomizerDependencies.cs b/src/EFCore/Infrastructure/ModelCustomizerDependencies.cs index 9aabc5babcb..61124617ddd 100644 --- a/src/EFCore/Infrastructure/ModelCustomizerDependencies.cs +++ b/src/EFCore/Infrastructure/ModelCustomizerDependencies.cs @@ -44,7 +44,7 @@ public sealed record ModelCustomizerDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelCustomizerDependencies() { } diff --git a/src/EFCore/Infrastructure/ModelDependencies.cs b/src/EFCore/Infrastructure/ModelDependencies.cs index d0a4adc7142..192d19404da 100644 --- a/src/EFCore/Infrastructure/ModelDependencies.cs +++ b/src/EFCore/Infrastructure/ModelDependencies.cs @@ -44,7 +44,7 @@ public sealed record ModelDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelDependencies( IDiagnosticsLogger logger) { diff --git a/src/EFCore/Infrastructure/ModelRuntimeInitializerDependencies.cs b/src/EFCore/Infrastructure/ModelRuntimeInitializerDependencies.cs index 844ff0bafdb..a971560dc4a 100644 --- a/src/EFCore/Infrastructure/ModelRuntimeInitializerDependencies.cs +++ b/src/EFCore/Infrastructure/ModelRuntimeInitializerDependencies.cs @@ -44,7 +44,7 @@ public sealed record ModelRuntimeInitializerDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelRuntimeInitializerDependencies( RuntimeModelDependencies runtimeModelDependencies, IModelValidator modelValidator) diff --git a/src/EFCore/Infrastructure/ModelSourceDependencies.cs b/src/EFCore/Infrastructure/ModelSourceDependencies.cs index 66ead70f02d..99a3fb645ef 100644 --- a/src/EFCore/Infrastructure/ModelSourceDependencies.cs +++ b/src/EFCore/Infrastructure/ModelSourceDependencies.cs @@ -46,7 +46,7 @@ public sealed record ModelSourceDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelSourceDependencies( IModelCustomizer modelCustomizer, IModelCacheKeyFactory modelCacheKeyFactory, diff --git a/src/EFCore/Infrastructure/ModelValidatorDependencies.cs b/src/EFCore/Infrastructure/ModelValidatorDependencies.cs index c8cdf12439a..afa23a540a6 100644 --- a/src/EFCore/Infrastructure/ModelValidatorDependencies.cs +++ b/src/EFCore/Infrastructure/ModelValidatorDependencies.cs @@ -46,7 +46,7 @@ public sealed record ModelValidatorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelValidatorDependencies(IMemberClassifier memberClassifier) { MemberClassifier = memberClassifier; @@ -55,6 +55,6 @@ public ModelValidatorDependencies(IMemberClassifier memberClassifier) /// /// The member classifier. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IMemberClassifier MemberClassifier { get; init; } } diff --git a/src/EFCore/Infrastructure/PooledDbContextFactory.cs b/src/EFCore/Infrastructure/PooledDbContextFactory.cs index 773dcb66804..eb8d66a46a4 100644 --- a/src/EFCore/Infrastructure/PooledDbContextFactory.cs +++ b/src/EFCore/Infrastructure/PooledDbContextFactory.cs @@ -33,7 +33,7 @@ public class PooledDbContextFactory<[DynamicallyAccessedMembers(DbContext.Dynami /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PooledDbContextFactory(IDbContextPool pool) { _pool = pool; diff --git a/src/EFCore/Infrastructure/RuntimeModelDependencies.cs b/src/EFCore/Infrastructure/RuntimeModelDependencies.cs index e580867ce13..79f399d4e2e 100644 --- a/src/EFCore/Infrastructure/RuntimeModelDependencies.cs +++ b/src/EFCore/Infrastructure/RuntimeModelDependencies.cs @@ -44,7 +44,7 @@ public sealed record RuntimeModelDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeModelDependencies( ITypeMappingSource typeMappingSource, IConstructorBindingFactory constructorBindingFactory, diff --git a/src/EFCore/Internal/DbContextDependencies.cs b/src/EFCore/Internal/DbContextDependencies.cs index e3cf9768c6e..76a8ce5b26d 100644 --- a/src/EFCore/Internal/DbContextDependencies.cs +++ b/src/EFCore/Internal/DbContextDependencies.cs @@ -22,6 +22,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// The implementation does not need to be thread-safe. /// /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed record DbContextDependencies : IDbContextDependencies { /// diff --git a/src/EFCore/Internal/DbContextDependenciesExtensions.cs b/src/EFCore/Internal/DbContextDependenciesExtensions.cs index e8939b53eee..6b2d9488709 100644 --- a/src/EFCore/Internal/DbContextDependenciesExtensions.cs +++ b/src/EFCore/Internal/DbContextDependenciesExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class DbContextDependenciesExtensions { /// diff --git a/src/EFCore/Internal/DbContextFactory.cs b/src/EFCore/Internal/DbContextFactory.cs index 0d266e2c5c1..a734ab12873 100644 --- a/src/EFCore/Internal/DbContextFactory.cs +++ b/src/EFCore/Internal/DbContextFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbContextFactory<[DynamicallyAccessedMembers(DbContext.DynamicallyAccessedMemberTypes)] TContext> : IDbContextFactory where TContext : DbContext diff --git a/src/EFCore/Internal/DbContextFactorySource.cs b/src/EFCore/Internal/DbContextFactorySource.cs index 897ff06315b..f3bcd0226a4 100644 --- a/src/EFCore/Internal/DbContextFactorySource.cs +++ b/src/EFCore/Internal/DbContextFactorySource.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbContextFactorySource : IDbContextFactorySource where TContext : DbContext { diff --git a/src/EFCore/Internal/DbContextLease.cs b/src/EFCore/Internal/DbContextLease.cs index 925493151e6..8a60db2369a 100644 --- a/src/EFCore/Internal/DbContextLease.cs +++ b/src/EFCore/Internal/DbContextLease.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public struct DbContextLease { private IDbContextPool? _contextPool; diff --git a/src/EFCore/Internal/DbContextPool.cs b/src/EFCore/Internal/DbContextPool.cs index eba778ba06c..f7e9b83a4ff 100644 --- a/src/EFCore/Internal/DbContextPool.cs +++ b/src/EFCore/Internal/DbContextPool.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbContextPool : IDbContextPool, IDisposable, IAsyncDisposable where TContext : DbContext { diff --git a/src/EFCore/Internal/DbContextPoolConfigurationSnapshot.cs b/src/EFCore/Internal/DbContextPoolConfigurationSnapshot.cs index b5cd4c856cd..21cfff13e5f 100644 --- a/src/EFCore/Internal/DbContextPoolConfigurationSnapshot.cs +++ b/src/EFCore/Internal/DbContextPoolConfigurationSnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class DbContextPoolConfigurationSnapshot { /// diff --git a/src/EFCore/Internal/DbContextServices.cs b/src/EFCore/Internal/DbContextServices.cs index a9ae50d04e6..69efc1e61b4 100644 --- a/src/EFCore/Internal/DbContextServices.cs +++ b/src/EFCore/Internal/DbContextServices.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbContextServices : IDbContextServices { private IServiceProvider? _scopedProvider; diff --git a/src/EFCore/Internal/DbSetInitializer.cs b/src/EFCore/Internal/DbSetInitializer.cs index 051dfe4c966..26609182fb2 100644 --- a/src/EFCore/Internal/DbSetInitializer.cs +++ b/src/EFCore/Internal/DbSetInitializer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbSetInitializer : IDbSetInitializer { private readonly IDbSetFinder _setFinder; diff --git a/src/EFCore/Internal/DbSetSource.cs b/src/EFCore/Internal/DbSetSource.cs index d66eb09291d..59444b967b5 100644 --- a/src/EFCore/Internal/DbSetSource.cs +++ b/src/EFCore/Internal/DbSetSource.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DbSetSource : IDbSetSource { private static readonly MethodInfo GenericCreateSet diff --git a/src/EFCore/Internal/EntityFinder.cs b/src/EFCore/Internal/EntityFinder.cs index 980d38d8ef5..498594a4aac 100644 --- a/src/EFCore/Internal/EntityFinder.cs +++ b/src/EFCore/Internal/EntityFinder.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityFinder : IEntityFinder where TEntity : class { diff --git a/src/EFCore/Internal/EntityFinderCollectionLoaderAdapter.cs b/src/EFCore/Internal/EntityFinderCollectionLoaderAdapter.cs index 673a4529c3e..2d45d64c5f9 100644 --- a/src/EFCore/Internal/EntityFinderCollectionLoaderAdapter.cs +++ b/src/EFCore/Internal/EntityFinderCollectionLoaderAdapter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityFinderCollectionLoaderAdapter : ICollectionLoader { private readonly IEntityFinder _entityFinder; diff --git a/src/EFCore/Internal/EntityFinderFactory.cs b/src/EFCore/Internal/EntityFinderFactory.cs index 5324a47af42..8ad314075eb 100644 --- a/src/EFCore/Internal/EntityFinderFactory.cs +++ b/src/EFCore/Internal/EntityFinderFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityFinderFactory : IEntityFinderFactory { private readonly IEntityFinderSource _entityFinderSource; diff --git a/src/EFCore/Internal/EntityFinderSource.cs b/src/EFCore/Internal/EntityFinderSource.cs index 64842f04393..c3ff67b493f 100644 --- a/src/EFCore/Internal/EntityFinderSource.cs +++ b/src/EFCore/Internal/EntityFinderSource.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityFinderSource : IEntityFinderSource { private readonly ConcurrentDictionary> _cache diff --git a/src/EFCore/Internal/ICollectionLoader.cs b/src/EFCore/Internal/ICollectionLoader.cs index 590005b01f7..11c5d609a15 100644 --- a/src/EFCore/Internal/ICollectionLoader.cs +++ b/src/EFCore/Internal/ICollectionLoader.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ICollectionLoader { /// diff --git a/src/EFCore/Internal/ICollectionLoader`.cs b/src/EFCore/Internal/ICollectionLoader`.cs index 925c0b89f0d..f4952cdcd5a 100644 --- a/src/EFCore/Internal/ICollectionLoader`.cs +++ b/src/EFCore/Internal/ICollectionLoader`.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ICollectionLoader : ICollectionLoader where TEntity : class { diff --git a/src/EFCore/Internal/IDbContextDependencies.cs b/src/EFCore/Internal/IDbContextDependencies.cs index aaf0787f834..aca26e44029 100644 --- a/src/EFCore/Internal/IDbContextDependencies.cs +++ b/src/EFCore/Internal/IDbContextDependencies.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbContextDependencies { /// diff --git a/src/EFCore/Internal/IDbContextFactorySource.cs b/src/EFCore/Internal/IDbContextFactorySource.cs index 17b63f5e112..33120b899c8 100644 --- a/src/EFCore/Internal/IDbContextFactorySource.cs +++ b/src/EFCore/Internal/IDbContextFactorySource.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbContextFactorySource where TContext : DbContext { diff --git a/src/EFCore/Internal/IDbContextPool.cs b/src/EFCore/Internal/IDbContextPool.cs index c5c214f5004..42798d043bb 100644 --- a/src/EFCore/Internal/IDbContextPool.cs +++ b/src/EFCore/Internal/IDbContextPool.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbContextPool { /// diff --git a/src/EFCore/Internal/IDbContextPool`.cs b/src/EFCore/Internal/IDbContextPool`.cs index 27c153bb2bc..b4987ceb357 100644 --- a/src/EFCore/Internal/IDbContextPool`.cs +++ b/src/EFCore/Internal/IDbContextPool`.cs @@ -9,5 +9,6 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbContextPool : IDbContextPool where TContext : DbContext; diff --git a/src/EFCore/Internal/IDbContextPoolable.cs b/src/EFCore/Internal/IDbContextPoolable.cs index 794d7430bf8..0ef62a951be 100644 --- a/src/EFCore/Internal/IDbContextPoolable.cs +++ b/src/EFCore/Internal/IDbContextPoolable.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbContextPoolable : IResettableService, IDisposable, IAsyncDisposable { /// diff --git a/src/EFCore/Internal/IDbContextServices.cs b/src/EFCore/Internal/IDbContextServices.cs index 8a2b847307f..c540c1bd0b6 100644 --- a/src/EFCore/Internal/IDbContextServices.cs +++ b/src/EFCore/Internal/IDbContextServices.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbContextServices { /// diff --git a/src/EFCore/Internal/IDbSetCache.cs b/src/EFCore/Internal/IDbSetCache.cs index f988750347e..aa2b916920e 100644 --- a/src/EFCore/Internal/IDbSetCache.cs +++ b/src/EFCore/Internal/IDbSetCache.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbSetCache { /// diff --git a/src/EFCore/Internal/IDbSetInitializer.cs b/src/EFCore/Internal/IDbSetInitializer.cs index d9ae97efb42..f2593247651 100644 --- a/src/EFCore/Internal/IDbSetInitializer.cs +++ b/src/EFCore/Internal/IDbSetInitializer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbSetInitializer { /// diff --git a/src/EFCore/Internal/IDbSetSource.cs b/src/EFCore/Internal/IDbSetSource.cs index dda703c0107..93a973eef9b 100644 --- a/src/EFCore/Internal/IDbSetSource.cs +++ b/src/EFCore/Internal/IDbSetSource.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IDbSetSource { /// diff --git a/src/EFCore/Internal/IEntityFinder.cs b/src/EFCore/Internal/IEntityFinder.cs index 0b090d3157e..b6164274872 100644 --- a/src/EFCore/Internal/IEntityFinder.cs +++ b/src/EFCore/Internal/IEntityFinder.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IEntityFinder { /// diff --git a/src/EFCore/Internal/IEntityFinderFactory.cs b/src/EFCore/Internal/IEntityFinderFactory.cs index b9a79f229f8..2bccc65def1 100644 --- a/src/EFCore/Internal/IEntityFinderFactory.cs +++ b/src/EFCore/Internal/IEntityFinderFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IEntityFinderFactory { /// diff --git a/src/EFCore/Internal/IEntityFinderSource.cs b/src/EFCore/Internal/IEntityFinderSource.cs index c3ce8d3971d..5133ea23fa5 100644 --- a/src/EFCore/Internal/IEntityFinderSource.cs +++ b/src/EFCore/Internal/IEntityFinderSource.cs @@ -16,6 +16,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IEntityFinderSource { /// diff --git a/src/EFCore/Internal/IEntityFinder`.cs b/src/EFCore/Internal/IEntityFinder`.cs index 97455c68846..d94ed0a8d72 100644 --- a/src/EFCore/Internal/IEntityFinder`.cs +++ b/src/EFCore/Internal/IEntityFinder`.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IEntityFinder : IEntityFinder where TEntity : class { diff --git a/src/EFCore/Internal/IInjectableService.cs b/src/EFCore/Internal/IInjectableService.cs index 0ff7e38b67b..2910d19ab4c 100644 --- a/src/EFCore/Internal/IInjectableService.cs +++ b/src/EFCore/Internal/IInjectableService.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// Implemented by service property types to notify services instances of lifecycle changes. /// /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IInjectableService { /// diff --git a/src/EFCore/Internal/IPatchServiceInjectionSite.cs b/src/EFCore/Internal/IPatchServiceInjectionSite.cs index 16684017ac0..fba8bd5e1ec 100644 --- a/src/EFCore/Internal/IPatchServiceInjectionSite.cs +++ b/src/EFCore/Internal/IPatchServiceInjectionSite.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IPatchServiceInjectionSite { /// diff --git a/src/EFCore/Internal/IRegisteredServices.cs b/src/EFCore/Internal/IRegisteredServices.cs index 0aaf971237c..aa14d3c1f4d 100644 --- a/src/EFCore/Internal/IRegisteredServices.cs +++ b/src/EFCore/Internal/IRegisteredServices.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRegisteredServices { /// diff --git a/src/EFCore/Internal/IScopedDbContextLease.cs b/src/EFCore/Internal/IScopedDbContextLease.cs index 15cf09a94d7..1199e640468 100644 --- a/src/EFCore/Internal/IScopedDbContextLease.cs +++ b/src/EFCore/Internal/IScopedDbContextLease.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IScopedDbContextLease where TContext : DbContext { diff --git a/src/EFCore/Internal/ISingletonOptionsInitializer.cs b/src/EFCore/Internal/ISingletonOptionsInitializer.cs index b1b33f35ae6..0a7aff79336 100644 --- a/src/EFCore/Internal/ISingletonOptionsInitializer.cs +++ b/src/EFCore/Internal/ISingletonOptionsInitializer.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ISingletonOptionsInitializer { /// diff --git a/src/EFCore/Internal/InternalDbSet.cs b/src/EFCore/Internal/InternalDbSet.cs index 440ad39159e..7ce9c1c6fe1 100644 --- a/src/EFCore/Internal/InternalDbSet.cs +++ b/src/EFCore/Internal/InternalDbSet.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalDbSet<[DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] TEntity> : DbSet, IQueryable, diff --git a/src/EFCore/Internal/ManyToManyLoader.cs b/src/EFCore/Internal/ManyToManyLoader.cs index 9df213191c4..62eb056d5d2 100644 --- a/src/EFCore/Internal/ManyToManyLoader.cs +++ b/src/EFCore/Internal/ManyToManyLoader.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ManyToManyLoader : ICollectionLoader where TEntity : class where TSourceEntity : class diff --git a/src/EFCore/Internal/ManyToManyLoaderFactory.cs b/src/EFCore/Internal/ManyToManyLoaderFactory.cs index 123174f8b38..f6a450d168e 100644 --- a/src/EFCore/Internal/ManyToManyLoaderFactory.cs +++ b/src/EFCore/Internal/ManyToManyLoaderFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ManyToManyLoaderFactory { private static readonly MethodInfo GenericCreate diff --git a/src/EFCore/Internal/NullableComparerAdapter.cs b/src/EFCore/Internal/NullableComparerAdapter.cs index 98d45fa9aa3..2d57315d91d 100644 --- a/src/EFCore/Internal/NullableComparerAdapter.cs +++ b/src/EFCore/Internal/NullableComparerAdapter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class NullableComparerAdapter : IEqualityComparer { private readonly IEqualityComparer _comparer; diff --git a/src/EFCore/Internal/RegisteredServices.cs b/src/EFCore/Internal/RegisteredServices.cs index 8581b022f5a..4923865e57d 100644 --- a/src/EFCore/Internal/RegisteredServices.cs +++ b/src/EFCore/Internal/RegisteredServices.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class RegisteredServices : IRegisteredServices { /// diff --git a/src/EFCore/Internal/ScopedDbContextLease.cs b/src/EFCore/Internal/ScopedDbContextLease.cs index 66b40dbc230..ac6ae0092d6 100644 --- a/src/EFCore/Internal/ScopedDbContextLease.cs +++ b/src/EFCore/Internal/ScopedDbContextLease.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class ScopedDbContextLease : IScopedDbContextLease, IDisposable, IAsyncDisposable where TContext : DbContext { diff --git a/src/EFCore/Internal/ServiceProviderCache.cs b/src/EFCore/Internal/ServiceProviderCache.cs index 876eae80d24..20283f6f5b3 100644 --- a/src/EFCore/Internal/ServiceProviderCache.cs +++ b/src/EFCore/Internal/ServiceProviderCache.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ServiceProviderCache { private readonly ConcurrentDictionary DebugInfo)> diff --git a/src/EFCore/Internal/SingletonOptionsInitializer.cs b/src/EFCore/Internal/SingletonOptionsInitializer.cs index 7c356397bee..af227361b0a 100644 --- a/src/EFCore/Internal/SingletonOptionsInitializer.cs +++ b/src/EFCore/Internal/SingletonOptionsInitializer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SingletonOptionsInitializer : ISingletonOptionsInitializer { private volatile bool _isInitialized; diff --git a/src/EFCore/Internal/TypeFullNameComparer.cs b/src/EFCore/Internal/TypeFullNameComparer.cs index 28475368d8b..80d1995a9a5 100644 --- a/src/EFCore/Internal/TypeFullNameComparer.cs +++ b/src/EFCore/Internal/TypeFullNameComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class TypeFullNameComparer : IComparer, IEqualityComparer { private TypeFullNameComparer() diff --git a/src/EFCore/Metadata/AdHocMapperDependencies.cs b/src/EFCore/Metadata/AdHocMapperDependencies.cs index 3f924a23e9e..460084784ac 100644 --- a/src/EFCore/Metadata/AdHocMapperDependencies.cs +++ b/src/EFCore/Metadata/AdHocMapperDependencies.cs @@ -34,7 +34,7 @@ public sealed record AdHocMapperDependencies /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public AdHocMapperDependencies( IModel model, ModelCreationDependencies modelCreationDependencies) diff --git a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs index d552774a446..51cd3c8d85c 100644 --- a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs +++ b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder.cs @@ -27,7 +27,7 @@ public class CollectionCollectionBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionCollectionBuilder( IMutableEntityType leftEntityType, IMutableEntityType rightEntityType, @@ -67,7 +67,7 @@ public CollectionCollectionBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType LeftEntityType { get; } /// @@ -76,7 +76,7 @@ public CollectionCollectionBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType RightEntityType { get; } /// @@ -95,7 +95,7 @@ public CollectionCollectionBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalModelBuilder ModelBuilder => ((EntityType)LeftEntityType).Model.Builder; @@ -396,7 +396,7 @@ private EntityTypeBuilder Using( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType UsingEntity( string? joinEntityName, Type? joinEntityType, diff --git a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs index 9e8c73b1073..63285131c58 100644 --- a/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs +++ b/src/EFCore/Metadata/Builders/CollectionCollectionBuilder`.cs @@ -32,7 +32,7 @@ public class CollectionCollectionBuilder< /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionCollectionBuilder( IMutableEntityType leftEntityType, IMutableEntityType rightEntityType, diff --git a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs index 06067bc1fc7..0bbd640c7df 100644 --- a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs @@ -27,7 +27,7 @@ public class CollectionNavigationBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionNavigationBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -49,7 +49,7 @@ public CollectionNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder? Builder { get; private set; } private IMutableSkipNavigation? SkipNavigation { get; set; } @@ -60,7 +60,7 @@ public CollectionNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual string? CollectionName { get; } /// @@ -69,7 +69,7 @@ public CollectionNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual MemberInfo? CollectionMember { get; } /// @@ -78,7 +78,7 @@ public CollectionNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType RelatedEntityType { get; } /// @@ -87,7 +87,7 @@ public CollectionNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType DeclaringEntityType { get; } /// @@ -128,7 +128,7 @@ public virtual ReferenceCollectionBuilder WithOne(string? navigationName = null) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder WithOneBuilder(string? navigationName) => WithOneBuilder(MemberIdentity.Create(navigationName)); @@ -138,7 +138,7 @@ protected virtual InternalForeignKeyBuilder WithOneBuilder(string? navigationNam /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder WithOneBuilder( MemberInfo? navigationMemberInfo) => WithOneBuilder(MemberIdentity.Create(navigationMemberInfo)); @@ -233,7 +233,7 @@ public virtual CollectionCollectionBuilder WithMany(string? navigationName = nul /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableSkipNavigation WithLeftManyNavigation(MemberInfo inverseMemberInfo) => WithLeftManyNavigation(inverseMemberInfo.Name); @@ -243,7 +243,7 @@ protected virtual IMutableSkipNavigation WithLeftManyNavigation(MemberInfo inver /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableSkipNavigation WithLeftManyNavigation(string? inverseName) { Check.NullButNotEmpty(inverseName, nameof(inverseName)); @@ -281,7 +281,7 @@ protected virtual IMutableSkipNavigation WithLeftManyNavigation(string? inverseN /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableSkipNavigation WithRightManyNavigation(string? navigationName, string? inverseName) => WithRightManyNavigation(MemberIdentity.Create(navigationName), inverseName); @@ -291,7 +291,7 @@ protected virtual IMutableSkipNavigation WithRightManyNavigation(string? navigat /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableSkipNavigation WithRightManyNavigation( MemberInfo navigationMemberInfo, string? inverseName) diff --git a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs index 2c24e7aa653..104821783ce 100644 --- a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder`.cs @@ -30,7 +30,7 @@ public class CollectionNavigationBuilder< /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CollectionNavigationBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, diff --git a/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder.cs b/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder.cs index 5c14c9f6aa2..9a4ed30bbda 100644 --- a/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder.cs +++ b/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder.cs @@ -24,7 +24,7 @@ public class ComplexPropertiesConfigurationBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexPropertiesConfigurationBuilder(ComplexPropertyConfiguration property) { Check.NotNull(property, nameof(property)); @@ -38,7 +38,7 @@ public ComplexPropertiesConfigurationBuilder(ComplexPropertyConfiguration proper /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual ComplexPropertyConfiguration Configuration { get; } #region Hidden System.Object members diff --git a/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder`.cs b/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder`.cs index 21024c36705..cfc741b4285 100644 --- a/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ComplexPropertiesConfigurationBuilder`.cs @@ -23,7 +23,7 @@ public class ComplexPropertiesConfigurationBuilder : ComplexPropertie /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexPropertiesConfigurationBuilder(ComplexPropertyConfiguration property) : base(property) { diff --git a/src/EFCore/Metadata/Builders/ComplexPropertyBuilder.cs b/src/EFCore/Metadata/Builders/ComplexPropertyBuilder.cs index 5bc54a973d2..d6e3e037f8a 100644 --- a/src/EFCore/Metadata/Builders/ComplexPropertyBuilder.cs +++ b/src/EFCore/Metadata/Builders/ComplexPropertyBuilder.cs @@ -27,7 +27,7 @@ public class ComplexPropertyBuilder : /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexPropertyBuilder(IMutableComplexProperty complexProperty) { PropertyBuilder = ((ComplexProperty)complexProperty).Builder; @@ -40,7 +40,7 @@ public ComplexPropertyBuilder(IMutableComplexProperty complexProperty) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalComplexPropertyBuilder PropertyBuilder { [DebuggerStepThrough] get; } /// @@ -49,7 +49,7 @@ public ComplexPropertyBuilder(IMutableComplexProperty complexProperty) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalComplexTypeBuilder TypeBuilder { [DebuggerStepThrough] get; } /// diff --git a/src/EFCore/Metadata/Builders/ComplexPropertyBuilder`.cs b/src/EFCore/Metadata/Builders/ComplexPropertyBuilder`.cs index 7997d990656..4fedec8fb57 100644 --- a/src/EFCore/Metadata/Builders/ComplexPropertyBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ComplexPropertyBuilder`.cs @@ -25,7 +25,7 @@ public class ComplexPropertyBuilder<[DynamicallyAccessedMembers(IEntityType.Dyna /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexPropertyBuilder(IMutableComplexProperty complexProperty) : base(complexProperty) { diff --git a/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder.cs b/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder.cs index 86c7ad5c18a..e0a48e35afc 100644 --- a/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder.cs +++ b/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder.cs @@ -28,7 +28,7 @@ public class ComplexTypePrimitiveCollectionBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexTypePrimitiveCollectionBuilder(IMutableProperty property) { Check.NotNull(property, nameof(property)); diff --git a/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder`.cs b/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder`.cs index a84cb543c19..54f5bb8162c 100644 --- a/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ComplexTypePrimitiveCollectionBuilder`.cs @@ -26,7 +26,7 @@ public class ComplexTypePrimitiveCollectionBuilder : ComplexTypePrimi /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexTypePrimitiveCollectionBuilder(IMutableProperty property) : base(property) { diff --git a/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder.cs b/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder.cs index b7939546691..d8d62209f06 100644 --- a/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder.cs +++ b/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder.cs @@ -28,7 +28,7 @@ public class ComplexTypePropertyBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexTypePropertyBuilder(IMutableProperty property) { Check.NotNull(property, nameof(property)); diff --git a/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder`.cs b/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder`.cs index 10e7138ebbf..104fdac87ce 100644 --- a/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ComplexTypePropertyBuilder`.cs @@ -26,7 +26,7 @@ public class ComplexTypePropertyBuilder : ComplexTypePropertyBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ComplexTypePropertyBuilder(IMutableProperty property) : base(property) { diff --git a/src/EFCore/Metadata/Builders/ConventionSetBuilder.cs b/src/EFCore/Metadata/Builders/ConventionSetBuilder.cs index a79c5f41313..ca4ad0ad935 100644 --- a/src/EFCore/Metadata/Builders/ConventionSetBuilder.cs +++ b/src/EFCore/Metadata/Builders/ConventionSetBuilder.cs @@ -26,7 +26,7 @@ public class ConventionSetBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ConventionSetBuilder(ConventionSet conventionSet, IServiceProvider serviceProvider) { Check.NotNull(conventionSet, nameof(conventionSet)); diff --git a/src/EFCore/Metadata/Builders/DataBuilder.cs b/src/EFCore/Metadata/Builders/DataBuilder.cs index 2a4f5c22e4f..4bf3be18db0 100644 --- a/src/EFCore/Metadata/Builders/DataBuilder.cs +++ b/src/EFCore/Metadata/Builders/DataBuilder.cs @@ -19,7 +19,7 @@ public class DataBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DataBuilder() { } diff --git a/src/EFCore/Metadata/Builders/DataBuilder`.cs b/src/EFCore/Metadata/Builders/DataBuilder`.cs index be413e7691b..26892fe3923 100644 --- a/src/EFCore/Metadata/Builders/DataBuilder`.cs +++ b/src/EFCore/Metadata/Builders/DataBuilder`.cs @@ -18,7 +18,7 @@ public class DataBuilder : DataBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DataBuilder() { } diff --git a/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs b/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs index 1c1ed79cbfb..3f7164f88df 100644 --- a/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs +++ b/src/EFCore/Metadata/Builders/DiscriminatorBuilder.cs @@ -22,7 +22,7 @@ public class DiscriminatorBuilder : IConventionDiscriminatorBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DiscriminatorBuilder(IMutableEntityType entityType) { EntityTypeBuilder = ((EntityType)entityType).Builder; @@ -34,7 +34,7 @@ public DiscriminatorBuilder(IMutableEntityType entityType) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityTypeBuilder EntityTypeBuilder { get; } /// diff --git a/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs b/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs index 26ceb9e2bde..61205def928 100644 --- a/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs +++ b/src/EFCore/Metadata/Builders/DiscriminatorBuilder`.cs @@ -20,7 +20,7 @@ public class DiscriminatorBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DiscriminatorBuilder(DiscriminatorBuilder builder) { Builder = builder; diff --git a/src/EFCore/Metadata/Builders/ElementTypeBuilder.cs b/src/EFCore/Metadata/Builders/ElementTypeBuilder.cs index 9ca841b352b..ea65526c62c 100644 --- a/src/EFCore/Metadata/Builders/ElementTypeBuilder.cs +++ b/src/EFCore/Metadata/Builders/ElementTypeBuilder.cs @@ -28,7 +28,7 @@ public class ElementTypeBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ElementTypeBuilder(IMutableElementType elementType) { Check.NotNull(elementType, nameof(elementType)); diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs index 42f81db7f4f..42c1ab2625d 100644 --- a/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs +++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs @@ -25,7 +25,7 @@ public class EntityTypeBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityTypeBuilder(IMutableEntityType entityType) { Builder = ((EntityType)entityType).Builder; @@ -37,7 +37,7 @@ public EntityTypeBuilder(IMutableEntityType entityType) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalEntityTypeBuilder Builder { [DebuggerStepThrough] get; } /// @@ -1138,7 +1138,7 @@ public virtual ReferenceNavigationBuilder HasOne(string? navigationName) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual ForeignKey HasOneBuilder( MemberIdentity navigationId, EntityType relatedEntityType) @@ -1304,7 +1304,7 @@ private CollectionNavigationBuilder HasMany( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType FindRelatedEntityType(string relatedTypeName, string? navigationName) => (navigationName == null ? null @@ -1317,7 +1317,7 @@ protected virtual EntityType FindRelatedEntityType(string relatedTypeName, strin /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType FindRelatedEntityType( [DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] Type relatedType, string? navigationName) diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs index 3cee16b13e4..cdfd35c0a84 100644 --- a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs +++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs @@ -26,7 +26,7 @@ public class EntityTypeBuilder<[DynamicallyAccessedMembers(IEntityType.Dynamical /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityTypeBuilder(IMutableEntityType entityType) : base(entityType) { diff --git a/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs b/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs index 76368c12a15..dc0d983027a 100644 --- a/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs +++ b/src/EFCore/Metadata/Builders/IConventionPropertyBuilder.cs @@ -556,7 +556,7 @@ bool CanSetProviderValueComparer( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] IConventionElementTypeBuilder? SetElementType(Type? elementType, bool fromDataAnnotation = false); /// @@ -565,6 +565,6 @@ bool CanSetProviderValueComparer( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] bool CanSetElementType(Type? elementType, bool fromDataAnnotation = false); } diff --git a/src/EFCore/Metadata/Builders/IndexBuilder.cs b/src/EFCore/Metadata/Builders/IndexBuilder.cs index 2000e3bfd8f..ffb4ad53829 100644 --- a/src/EFCore/Metadata/Builders/IndexBuilder.cs +++ b/src/EFCore/Metadata/Builders/IndexBuilder.cs @@ -28,7 +28,7 @@ public class IndexBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IndexBuilder(IMutableIndex index) { Builder = ((Index)index).Builder; diff --git a/src/EFCore/Metadata/Builders/IndexBuilder`.cs b/src/EFCore/Metadata/Builders/IndexBuilder`.cs index 71040c89941..c3e9d5eeb9f 100644 --- a/src/EFCore/Metadata/Builders/IndexBuilder`.cs +++ b/src/EFCore/Metadata/Builders/IndexBuilder`.cs @@ -25,7 +25,7 @@ public class IndexBuilder : IndexBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IndexBuilder(IMutableIndex index) : base(index) { diff --git a/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs b/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs index 5b80bbac94f..04673a5911e 100644 --- a/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs +++ b/src/EFCore/Metadata/Builders/InvertibleRelationshipBuilderBase.cs @@ -24,7 +24,7 @@ public abstract class InvertibleRelationshipBuilderBase : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected InvertibleRelationshipBuilderBase( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -42,7 +42,7 @@ protected InvertibleRelationshipBuilderBase( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected InvertibleRelationshipBuilderBase( InternalForeignKeyBuilder builder, InvertibleRelationshipBuilderBase oldBuilder, @@ -103,7 +103,7 @@ protected InvertibleRelationshipBuilderBase( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder Builder { get; set; } /// diff --git a/src/EFCore/Metadata/Builders/KeyBuilder.cs b/src/EFCore/Metadata/Builders/KeyBuilder.cs index 7cfe95a5bcd..0e463697557 100644 --- a/src/EFCore/Metadata/Builders/KeyBuilder.cs +++ b/src/EFCore/Metadata/Builders/KeyBuilder.cs @@ -27,7 +27,7 @@ public class KeyBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public KeyBuilder(IMutableKey key) { Check.NotNull(key, nameof(key)); diff --git a/src/EFCore/Metadata/Builders/KeyBuilder`.cs b/src/EFCore/Metadata/Builders/KeyBuilder`.cs index 81d61615950..20a6c39cdc6 100644 --- a/src/EFCore/Metadata/Builders/KeyBuilder`.cs +++ b/src/EFCore/Metadata/Builders/KeyBuilder`.cs @@ -25,7 +25,7 @@ public class KeyBuilder : KeyBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public KeyBuilder(IMutableKey key) : base(key) { diff --git a/src/EFCore/Metadata/Builders/NavigationBuilder.cs b/src/EFCore/Metadata/Builders/NavigationBuilder.cs index 1a09f4ea244..582c1201fc6 100644 --- a/src/EFCore/Metadata/Builders/NavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/NavigationBuilder.cs @@ -28,7 +28,7 @@ public class NavigationBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public NavigationBuilder(IMutableNavigationBase navigationOrSkipNavigation) { Check.NotNull(navigationOrSkipNavigation, nameof(navigationOrSkipNavigation)); diff --git a/src/EFCore/Metadata/Builders/NavigationBuilder`.cs b/src/EFCore/Metadata/Builders/NavigationBuilder`.cs index 1eec24d70f8..601438b913b 100644 --- a/src/EFCore/Metadata/Builders/NavigationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/NavigationBuilder`.cs @@ -28,7 +28,7 @@ public class NavigationBuilder : NavigationBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public NavigationBuilder(IMutableNavigationBase navigationOrSkipNavigation) : base(navigationOrSkipNavigation) { diff --git a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs index 0edab4eae77..a3ba04e5052 100644 --- a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs +++ b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder.cs @@ -20,7 +20,7 @@ public class OwnedEntityTypeBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public OwnedEntityTypeBuilder() { } diff --git a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs index 0f98c805d24..204573f442a 100644 --- a/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs +++ b/src/EFCore/Metadata/Builders/OwnedEntityTypeBuilder`.cs @@ -20,7 +20,7 @@ public class OwnedEntityTypeBuilder : OwnedEntityTypeBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public OwnedEntityTypeBuilder() { } diff --git a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs index 32ab3c987f0..286b0b9506a 100644 --- a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs @@ -24,7 +24,7 @@ public class OwnedNavigationBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public OwnedNavigationBuilder(IMutableForeignKey ownership) { PrincipalEntityType = (EntityType)ownership.PrincipalEntityType; @@ -35,13 +35,13 @@ public OwnedNavigationBuilder(IMutableForeignKey ownership) /// /// Gets the principal entity type used to configure this relationship. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType PrincipalEntityType { get; } /// /// Gets the dependent entity type used to configure this relationship. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType DependentEntityType => _dependentEntityType.IsInModel ? _dependentEntityType @@ -53,7 +53,7 @@ protected virtual EntityType DependentEntityType /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder Builder { get @@ -76,7 +76,7 @@ protected virtual InternalForeignKeyBuilder Builder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual T UpdateBuilder(Func configure) { IConventionForeignKey? foreignKey = _builder.Metadata; @@ -951,7 +951,7 @@ public virtual ReferenceNavigationBuilder HasOne( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual ForeignKey HasOneBuilder( MemberIdentity navigationId, EntityType relatedEntityType) @@ -979,7 +979,7 @@ protected virtual ForeignKey HasOneBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType FindRelatedEntityType(string relatedTypeName, string? navigationName) { EntityType? relatedEntityType = null; @@ -1013,7 +1013,7 @@ protected virtual EntityType FindRelatedEntityType(string relatedTypeName, strin /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType FindRelatedEntityType( [DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] Type relatedType, string? navigationName) diff --git a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs index 2801970f893..48ecca99b88 100644 --- a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder`.cs @@ -24,7 +24,7 @@ public class OwnedNavigationBuilder< /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public OwnedNavigationBuilder(IMutableForeignKey ownership) : base(ownership) { diff --git a/src/EFCore/Metadata/Builders/OwnershipBuilder.cs b/src/EFCore/Metadata/Builders/OwnershipBuilder.cs index 73d2041245f..04fbfa188c3 100644 --- a/src/EFCore/Metadata/Builders/OwnershipBuilder.cs +++ b/src/EFCore/Metadata/Builders/OwnershipBuilder.cs @@ -19,7 +19,7 @@ public class OwnershipBuilder : RelationshipBuilderBase /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public OwnershipBuilder( IMutableEntityType principalEntityType, IMutableEntityType dependentEntityType, @@ -34,7 +34,7 @@ public OwnershipBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected OwnershipBuilder( InternalForeignKeyBuilder builder, OwnershipBuilder oldBuilder, diff --git a/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs b/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs index 27f8203e114..f10b03993b7 100644 --- a/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs +++ b/src/EFCore/Metadata/Builders/OwnershipBuilder`.cs @@ -21,7 +21,7 @@ public class OwnershipBuilder : OwnershipBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public OwnershipBuilder( IMutableEntityType principalEntityType, IMutableEntityType dependentEntityType, @@ -36,7 +36,7 @@ public OwnershipBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected OwnershipBuilder( InternalForeignKeyBuilder builder, OwnershipBuilder oldBuilder, diff --git a/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder.cs b/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder.cs index 7e2152b87ae..b376a67a1a3 100644 --- a/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder.cs +++ b/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder.cs @@ -28,7 +28,7 @@ public class PrimitiveCollectionBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PrimitiveCollectionBuilder(IMutableProperty property) { Check.NotNull(property, nameof(property)); diff --git a/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder`.cs b/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder`.cs index 94816991020..35e790ee2fd 100644 --- a/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder`.cs +++ b/src/EFCore/Metadata/Builders/PrimitiveCollectionBuilder`.cs @@ -26,7 +26,7 @@ public class PrimitiveCollectionBuilder : PrimitiveCollectionBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PrimitiveCollectionBuilder(IMutableProperty property) : base(property) { diff --git a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs index ee4d38fce89..ab00c276ab1 100644 --- a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs +++ b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder.cs @@ -24,7 +24,7 @@ public class PropertiesConfigurationBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PropertiesConfigurationBuilder(PropertyConfiguration property) { Check.NotNull(property, nameof(property)); @@ -38,7 +38,7 @@ public PropertiesConfigurationBuilder(PropertyConfiguration property) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual PropertyConfiguration Configuration { get; } /// diff --git a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs index fc7c0fb7d69..659cbbade62 100644 --- a/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/PropertiesConfigurationBuilder`.cs @@ -23,7 +23,7 @@ public class PropertiesConfigurationBuilder : PropertiesConfiguration /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PropertiesConfigurationBuilder(PropertyConfiguration property) : base(property) { diff --git a/src/EFCore/Metadata/Builders/PropertyBuilder.cs b/src/EFCore/Metadata/Builders/PropertyBuilder.cs index fdf018b7aeb..21730748b09 100644 --- a/src/EFCore/Metadata/Builders/PropertyBuilder.cs +++ b/src/EFCore/Metadata/Builders/PropertyBuilder.cs @@ -28,7 +28,7 @@ public class PropertyBuilder : IInfrastructure /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PropertyBuilder(IMutableProperty property) { Check.NotNull(property, nameof(property)); diff --git a/src/EFCore/Metadata/Builders/PropertyBuilder`.cs b/src/EFCore/Metadata/Builders/PropertyBuilder`.cs index 5a0b0afd462..56c4de5b551 100644 --- a/src/EFCore/Metadata/Builders/PropertyBuilder`.cs +++ b/src/EFCore/Metadata/Builders/PropertyBuilder`.cs @@ -26,7 +26,7 @@ public class PropertyBuilder : PropertyBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public PropertyBuilder(IMutableProperty property) : base(property) { diff --git a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs index 39f455d7c88..f03106baa86 100644 --- a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs +++ b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder.cs @@ -26,7 +26,7 @@ public class ReferenceCollectionBuilder : RelationshipBuilderBase /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceCollectionBuilder( IMutableEntityType principalEntityType, IMutableEntityType dependentEntityType, @@ -41,7 +41,7 @@ public ReferenceCollectionBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected ReferenceCollectionBuilder( InternalForeignKeyBuilder builder, ReferenceCollectionBuilder oldBuilder, @@ -103,7 +103,7 @@ public virtual ReferenceCollectionBuilder HasForeignKey(params string[] foreignK /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasForeignKeyBuilder(IReadOnlyList foreignKeyPropertyNames) => Builder.HasForeignKey(foreignKeyPropertyNames, (EntityType)DependentEntityType, ConfigurationSource.Explicit)!; @@ -113,7 +113,7 @@ protected virtual InternalForeignKeyBuilder HasForeignKeyBuilder(IReadOnlyList - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasForeignKeyBuilder(IReadOnlyList foreignKeyMembers) => Builder.HasForeignKey(foreignKeyMembers, (EntityType)DependentEntityType, ConfigurationSource.Explicit)!; @@ -137,7 +137,7 @@ public virtual ReferenceCollectionBuilder HasPrincipalKey(params string[] keyPro /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasPrincipalKeyBuilder(IReadOnlyList keyPropertyNames) => Builder.HasPrincipalKey(keyPropertyNames, ConfigurationSource.Explicit)!; @@ -147,7 +147,7 @@ protected virtual InternalForeignKeyBuilder HasPrincipalKeyBuilder(IReadOnlyList /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasPrincipalKeyBuilder(IReadOnlyList keyMembers) => Builder.HasPrincipalKey(keyMembers, ConfigurationSource.Explicit)!; diff --git a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs index 32a8160a3ac..278d7e3eee3 100644 --- a/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ReferenceCollectionBuilder`.cs @@ -30,7 +30,7 @@ public class ReferenceCollectionBuilder : Re /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceCollectionBuilder( IMutableEntityType principalEntityType, IMutableEntityType dependentEntityType, @@ -45,7 +45,7 @@ public ReferenceCollectionBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected ReferenceCollectionBuilder( InternalForeignKeyBuilder builder, ReferenceCollectionBuilder oldBuilder, diff --git a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs index 1256a62347a..d37141c9957 100644 --- a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs @@ -29,7 +29,7 @@ public class ReferenceNavigationBuilder : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceNavigationBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -48,7 +48,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceNavigationBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -68,7 +68,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder Builder { [DebuggerStepThrough] get; } /// @@ -77,7 +77,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual string? ReferenceName { [DebuggerStepThrough] get; } /// @@ -86,7 +86,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual MemberInfo? ReferenceMember { [DebuggerStepThrough] get; } /// @@ -95,7 +95,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType RelatedEntityType { [DebuggerStepThrough] get; } /// @@ -104,7 +104,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType DeclaringEntityType { [DebuggerStepThrough] get; } /// @@ -138,7 +138,7 @@ public virtual ReferenceCollectionBuilder WithMany(string? collection = null) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder WithManyBuilder(string? navigationName) => WithManyBuilder(MemberIdentity.Create(navigationName)); @@ -148,7 +148,7 @@ protected virtual InternalForeignKeyBuilder WithManyBuilder(string? navigationNa /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder WithManyBuilder(MemberInfo? navigationMemberInfo) => WithManyBuilder(MemberIdentity.Create(navigationMemberInfo)); @@ -205,7 +205,7 @@ public virtual ReferenceReferenceBuilder WithOne(string? reference = null) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder WithOneBuilder(string? navigationName) => WithOneBuilder(MemberIdentity.Create(navigationName)); @@ -215,7 +215,7 @@ protected virtual InternalForeignKeyBuilder WithOneBuilder(string? navigationNam /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder WithOneBuilder(MemberInfo? navigationMemberInfo) => WithOneBuilder(MemberIdentity.Create(navigationMemberInfo)); diff --git a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs index 34bf499a0e6..1bbed1bb37a 100644 --- a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder`.cs @@ -29,7 +29,7 @@ public class ReferenceNavigationBuilder : ReferenceNavi /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceNavigationBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -45,7 +45,7 @@ public ReferenceNavigationBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceNavigationBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, diff --git a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs index e89d1500da5..c740454e648 100644 --- a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs +++ b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder.cs @@ -20,7 +20,7 @@ public class ReferenceReferenceBuilder : InvertibleRelationshipBuilderBase /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceReferenceBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -35,7 +35,7 @@ public ReferenceReferenceBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected ReferenceReferenceBuilder( InternalForeignKeyBuilder builder, ReferenceReferenceBuilder oldBuilder, @@ -145,7 +145,7 @@ public virtual ReferenceReferenceBuilder HasForeignKey( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasForeignKeyBuilder( EntityType dependentEntityType, string dependentEntityTypeName, @@ -160,7 +160,7 @@ protected virtual InternalForeignKeyBuilder HasForeignKeyBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasForeignKeyBuilder( EntityType dependentEntityType, string dependentEntityTypeName, @@ -255,7 +255,7 @@ public virtual ReferenceReferenceBuilder HasPrincipalKey( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasPrincipalKeyBuilder( EntityType principalEntityType, string principalEntityTypeName, @@ -270,7 +270,7 @@ protected virtual InternalForeignKeyBuilder HasPrincipalKeyBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder HasPrincipalKeyBuilder( EntityType principalEntityType, string principalEntityTypeName, @@ -307,7 +307,7 @@ private InternalForeignKeyBuilder HasPrincipalKeyBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType? ResolveEntityType(string entityTypeName) { if (DeclaringEntityType.Name == entityTypeName) @@ -347,7 +347,7 @@ private InternalForeignKeyBuilder HasPrincipalKeyBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual EntityType? ResolveEntityType(Type entityType) { if (DeclaringEntityType.ClrType == entityType) diff --git a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs index 2237ac3eaa3..3161540824c 100644 --- a/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs +++ b/src/EFCore/Metadata/Builders/ReferenceReferenceBuilder`.cs @@ -21,7 +21,7 @@ public class ReferenceReferenceBuilder : ReferenceRefer /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ReferenceReferenceBuilder( IMutableEntityType declaringEntityType, IMutableEntityType relatedEntityType, @@ -36,7 +36,7 @@ public ReferenceReferenceBuilder( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected ReferenceReferenceBuilder( InternalForeignKeyBuilder builder, ReferenceReferenceBuilder oldBuilder, diff --git a/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs b/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs index 1ccadba77fa..05bce191779 100644 --- a/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs +++ b/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs @@ -24,7 +24,7 @@ public abstract class RelationshipBuilderBase : IInfrastructure - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected RelationshipBuilderBase( IMutableEntityType principalEntityType, IMutableEntityType dependentEntityType, @@ -45,7 +45,7 @@ protected RelationshipBuilderBase( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected RelationshipBuilderBase( InternalForeignKeyBuilder builder, RelationshipBuilderBase oldBuilder, @@ -86,7 +86,7 @@ protected RelationshipBuilderBase( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType PrincipalEntityType { get; } /// @@ -95,7 +95,7 @@ protected RelationshipBuilderBase( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IMutableEntityType DependentEntityType { get; } /// @@ -104,7 +104,7 @@ protected RelationshipBuilderBase( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalForeignKeyBuilder Builder { get; set; } /// diff --git a/src/EFCore/Metadata/Builders/TriggerBuilder.cs b/src/EFCore/Metadata/Builders/TriggerBuilder.cs index 82d30986b62..6a6f587128b 100644 --- a/src/EFCore/Metadata/Builders/TriggerBuilder.cs +++ b/src/EFCore/Metadata/Builders/TriggerBuilder.cs @@ -26,7 +26,7 @@ public TriggerBuilder(IMutableTrigger trigger) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual InternalTriggerBuilder InternalBuilder { [DebuggerStepThrough] get; } /// diff --git a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs index d9745947cdc..9786493a40d 100644 --- a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs +++ b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder.cs @@ -27,7 +27,7 @@ public class TypeMappingConfigurationBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public TypeMappingConfigurationBuilder(PropertyConfiguration scalar) { Check.NotNull(scalar, nameof(scalar)); @@ -41,7 +41,7 @@ public TypeMappingConfigurationBuilder(PropertyConfiguration scalar) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual PropertyConfiguration Configuration { get; } /// diff --git a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs index 8423f5370fe..2eaa7d36404 100644 --- a/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs +++ b/src/EFCore/Metadata/Builders/TypeMappingConfigurationBuilder`.cs @@ -26,7 +26,7 @@ public class TypeMappingConfigurationBuilder : TypeMappingConfigurati /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public TypeMappingConfigurationBuilder(PropertyConfiguration scalar) : base(scalar) { diff --git a/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilderDependencies.cs b/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilderDependencies.cs index 4772de906b2..daa9959b351 100644 --- a/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilderDependencies.cs +++ b/src/EFCore/Metadata/Conventions/Infrastructure/ProviderConventionSetBuilderDependencies.cs @@ -54,7 +54,7 @@ public sealed record ProviderConventionSetBuilderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ProviderConventionSetBuilderDependencies( ITypeMappingSource typeMappingSource, IConstructorBindingFactory constructorBindingFactory, @@ -88,7 +88,7 @@ public ProviderConventionSetBuilderDependencies( /// /// The member classifier. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IMemberClassifier MemberClassifier { get; init; } /// diff --git a/src/EFCore/Metadata/Conventions/Internal/ConventionBatchExtensions.cs b/src/EFCore/Metadata/Conventions/Internal/ConventionBatchExtensions.cs index 07c3c74ba00..deda3e94530 100644 --- a/src/EFCore/Metadata/Conventions/Internal/ConventionBatchExtensions.cs +++ b/src/EFCore/Metadata/Conventions/Internal/ConventionBatchExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ConventionBatchExtensions { /// diff --git a/src/EFCore/Metadata/Conventions/Internal/ConventionContext.cs b/src/EFCore/Metadata/Conventions/Internal/ConventionContext.cs index 1f8da73cbf5..ad698ff1704 100644 --- a/src/EFCore/Metadata/Conventions/Internal/ConventionContext.cs +++ b/src/EFCore/Metadata/Conventions/Internal/ConventionContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ConventionContext : IConventionContext, IReadableConventionContext { private bool _stopProcessing; diff --git a/src/EFCore/Metadata/Conventions/Internal/ConventionDispatcher.cs b/src/EFCore/Metadata/Conventions/Internal/ConventionDispatcher.cs index 8120df591d6..be837ead2b6 100644 --- a/src/EFCore/Metadata/Conventions/Internal/ConventionDispatcher.cs +++ b/src/EFCore/Metadata/Conventions/Internal/ConventionDispatcher.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public partial class ConventionDispatcher { private ConventionScope _scope; diff --git a/src/EFCore/Metadata/Conventions/Internal/IReadableConventionContext.cs b/src/EFCore/Metadata/Conventions/Internal/IReadableConventionContext.cs index 3e316a36bc1..714feff3e28 100644 --- a/src/EFCore/Metadata/Conventions/Internal/IReadableConventionContext.cs +++ b/src/EFCore/Metadata/Conventions/Internal/IReadableConventionContext.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IReadableConventionContext : IConventionContext { /// diff --git a/src/EFCore/Metadata/Conventions/Internal/MetadataTracker.cs b/src/EFCore/Metadata/Conventions/Internal/MetadataTracker.cs index 9b0df0c6129..0884ea346ac 100644 --- a/src/EFCore/Metadata/Conventions/Internal/MetadataTracker.cs +++ b/src/EFCore/Metadata/Conventions/Internal/MetadataTracker.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class MetadataTracker : IReferenceRoot { private readonly Dictionary> _trackedForeignKeys = new(); diff --git a/src/EFCore/Metadata/Conventions/Internal/RuntimeConventionSetBuilder.cs b/src/EFCore/Metadata/Conventions/Internal/RuntimeConventionSetBuilder.cs index ed87ca750bd..98089b0f031 100644 --- a/src/EFCore/Metadata/Conventions/Internal/RuntimeConventionSetBuilder.cs +++ b/src/EFCore/Metadata/Conventions/Internal/RuntimeConventionSetBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class RuntimeConventionSetBuilder : IConventionSetBuilder { private readonly IProviderConventionSetBuilder _conventionSetBuilder; diff --git a/src/EFCore/Metadata/IReadOnlyEntityType.cs b/src/EFCore/Metadata/IReadOnlyEntityType.cs index b5ee5ba7083..ff44bdd4d25 100644 --- a/src/EFCore/Metadata/IReadOnlyEntityType.cs +++ b/src/EFCore/Metadata/IReadOnlyEntityType.cs @@ -671,7 +671,7 @@ bool IsInOwnershipPath(IReadOnlyEntityType targetType) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] Func GetOrCreateMaterializer(IEntityMaterializerSource source); /// @@ -680,7 +680,7 @@ bool IsInOwnershipPath(IReadOnlyEntityType targetType) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] Func GetOrCreateEmptyMaterializer(IEntityMaterializerSource source); /// diff --git a/src/EFCore/Metadata/IReadOnlyModel.cs b/src/EFCore/Metadata/IReadOnlyModel.cs index b115bf6c5e3..f99a08bd5f9 100644 --- a/src/EFCore/Metadata/IReadOnlyModel.cs +++ b/src/EFCore/Metadata/IReadOnlyModel.cs @@ -201,7 +201,7 @@ private static int GetDerivedLevel(Type? derivedType, Dictionary deri /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public Guid ModelId { get; } /// diff --git a/src/EFCore/Metadata/Internal/ClrAccessorFactory.cs b/src/EFCore/Metadata/Internal/ClrAccessorFactory.cs index 3fd5b512484..d92acbbbe76 100644 --- a/src/EFCore/Metadata/Internal/ClrAccessorFactory.cs +++ b/src/EFCore/Metadata/Internal/ClrAccessorFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class ClrAccessorFactory where TAccessor : class { diff --git a/src/EFCore/Metadata/Internal/ClrCollectionAccessor.cs b/src/EFCore/Metadata/Internal/ClrCollectionAccessor.cs index 9704443361f..44af0380d31 100644 --- a/src/EFCore/Metadata/Internal/ClrCollectionAccessor.cs +++ b/src/EFCore/Metadata/Internal/ClrCollectionAccessor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ClrICollectionAccessor : IClrCollectionAccessor where TEntity : class where TCollection : class, IEnumerable diff --git a/src/EFCore/Metadata/Internal/ClrCollectionAccessorFactory.cs b/src/EFCore/Metadata/Internal/ClrCollectionAccessorFactory.cs index 73dc02c80b0..d9f7335cfc3 100644 --- a/src/EFCore/Metadata/Internal/ClrCollectionAccessorFactory.cs +++ b/src/EFCore/Metadata/Internal/ClrCollectionAccessorFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ClrCollectionAccessorFactory { private static readonly MethodInfo GenericCreate diff --git a/src/EFCore/Metadata/Internal/ClrPropertyGetter.cs b/src/EFCore/Metadata/Internal/ClrPropertyGetter.cs index 19018008d92..63e3950c4d4 100644 --- a/src/EFCore/Metadata/Internal/ClrPropertyGetter.cs +++ b/src/EFCore/Metadata/Internal/ClrPropertyGetter.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class ClrPropertyGetter : IClrPropertyGetter where TEntity : class { diff --git a/src/EFCore/Metadata/Internal/ClrPropertyGetterFactory.cs b/src/EFCore/Metadata/Internal/ClrPropertyGetterFactory.cs index 91a8bb560bf..bb6f02b5636 100644 --- a/src/EFCore/Metadata/Internal/ClrPropertyGetterFactory.cs +++ b/src/EFCore/Metadata/Internal/ClrPropertyGetterFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ClrPropertyGetterFactory : ClrAccessorFactory { private ClrPropertyGetterFactory() diff --git a/src/EFCore/Metadata/Internal/ClrPropertyMaterializationSetterFactory.cs b/src/EFCore/Metadata/Internal/ClrPropertyMaterializationSetterFactory.cs index 3f405d0bdcf..7bc7c6fa14d 100644 --- a/src/EFCore/Metadata/Internal/ClrPropertyMaterializationSetterFactory.cs +++ b/src/EFCore/Metadata/Internal/ClrPropertyMaterializationSetterFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ClrPropertyMaterializationSetterFactory : ClrPropertySetterFactory { private ClrPropertyMaterializationSetterFactory() diff --git a/src/EFCore/Metadata/Internal/ClrPropertySetter.cs b/src/EFCore/Metadata/Internal/ClrPropertySetter.cs index 00655ef9546..7ac74d5d9ac 100644 --- a/src/EFCore/Metadata/Internal/ClrPropertySetter.cs +++ b/src/EFCore/Metadata/Internal/ClrPropertySetter.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class ClrPropertySetter : IClrPropertySetter where TEntity : class { diff --git a/src/EFCore/Metadata/Internal/ClrPropertySetterFactory.cs b/src/EFCore/Metadata/Internal/ClrPropertySetterFactory.cs index 3993a064981..05beb1d876b 100644 --- a/src/EFCore/Metadata/Internal/ClrPropertySetterFactory.cs +++ b/src/EFCore/Metadata/Internal/ClrPropertySetterFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ClrPropertySetterFactory : ClrAccessorFactory { /// diff --git a/src/EFCore/Metadata/Internal/CollectionTypeFactory.cs b/src/EFCore/Metadata/Internal/CollectionTypeFactory.cs index bfb5a5ab703..ca26ecd555d 100644 --- a/src/EFCore/Metadata/Internal/CollectionTypeFactory.cs +++ b/src/EFCore/Metadata/Internal/CollectionTypeFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CollectionTypeFactory { /// diff --git a/src/EFCore/Metadata/Internal/ComplexProperty.cs b/src/EFCore/Metadata/Internal/ComplexProperty.cs index e1825f1ec1b..7a12b4183e9 100644 --- a/src/EFCore/Metadata/Internal/ComplexProperty.cs +++ b/src/EFCore/Metadata/Internal/ComplexProperty.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ComplexProperty : PropertyBase, IMutableComplexProperty, IConventionComplexProperty, IComplexProperty { private InternalComplexPropertyBuilder? _builder; diff --git a/src/EFCore/Metadata/Internal/ComplexPropertyConfiguration.cs b/src/EFCore/Metadata/Internal/ComplexPropertyConfiguration.cs index 3912cc0e635..8a1a6af8c38 100644 --- a/src/EFCore/Metadata/Internal/ComplexPropertyConfiguration.cs +++ b/src/EFCore/Metadata/Internal/ComplexPropertyConfiguration.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ComplexPropertyConfiguration : AnnotatableBase { /// diff --git a/src/EFCore/Metadata/Internal/ComplexPropertyExtensions.cs b/src/EFCore/Metadata/Internal/ComplexPropertyExtensions.cs index 1a2c8de0ee2..b4ff742f191 100644 --- a/src/EFCore/Metadata/Internal/ComplexPropertyExtensions.cs +++ b/src/EFCore/Metadata/Internal/ComplexPropertyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ComplexPropertyExtensions { /// diff --git a/src/EFCore/Metadata/Internal/ComplexPropertySnapshot.cs b/src/EFCore/Metadata/Internal/ComplexPropertySnapshot.cs index 79aec9a29a4..a8bc047407c 100644 --- a/src/EFCore/Metadata/Internal/ComplexPropertySnapshot.cs +++ b/src/EFCore/Metadata/Internal/ComplexPropertySnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ComplexPropertySnapshot { /// diff --git a/src/EFCore/Metadata/Internal/ComplexType.cs b/src/EFCore/Metadata/Internal/ComplexType.cs index b906a8a1c5b..16e8d6a89d2 100644 --- a/src/EFCore/Metadata/Internal/ComplexType.cs +++ b/src/EFCore/Metadata/Internal/ComplexType.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ComplexType : TypeBase, IMutableComplexType, IConventionComplexType, IRuntimeComplexType { private InternalComplexTypeBuilder? _builder; diff --git a/src/EFCore/Metadata/Internal/ComplexTypeExtensions.cs b/src/EFCore/Metadata/Internal/ComplexTypeExtensions.cs index 765a50d0ea9..048c9cd8f4f 100644 --- a/src/EFCore/Metadata/Internal/ComplexTypeExtensions.cs +++ b/src/EFCore/Metadata/Internal/ComplexTypeExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ComplexTypeExtensions { /// diff --git a/src/EFCore/Metadata/Internal/ConstructorBindingFactory.cs b/src/EFCore/Metadata/Internal/ConstructorBindingFactory.cs index 66f233979a7..ea37e8288c0 100644 --- a/src/EFCore/Metadata/Internal/ConstructorBindingFactory.cs +++ b/src/EFCore/Metadata/Internal/ConstructorBindingFactory.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ConstructorBindingFactory : IConstructorBindingFactory { private readonly IPropertyParameterBindingFactory _propertyFactory; diff --git a/src/EFCore/Metadata/Internal/ContextParameterBindingFactory.cs b/src/EFCore/Metadata/Internal/ContextParameterBindingFactory.cs index c04218522de..77b6e51ea18 100644 --- a/src/EFCore/Metadata/Internal/ContextParameterBindingFactory.cs +++ b/src/EFCore/Metadata/Internal/ContextParameterBindingFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ContextParameterBindingFactory : IParameterBindingFactory { /// diff --git a/src/EFCore/Metadata/Internal/ConventionAnnotation.cs b/src/EFCore/Metadata/Internal/ConventionAnnotation.cs index ff156cc7942..a7a4e621ec7 100644 --- a/src/EFCore/Metadata/Internal/ConventionAnnotation.cs +++ b/src/EFCore/Metadata/Internal/ConventionAnnotation.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ConventionAnnotation : Annotation, IConventionAnnotation { private ConfigurationSource _configurationSource; diff --git a/src/EFCore/Metadata/Internal/CoreAnnotationNames.cs b/src/EFCore/Metadata/Internal/CoreAnnotationNames.cs index 54d34683373..63aa83e4b2b 100644 --- a/src/EFCore/Metadata/Internal/CoreAnnotationNames.cs +++ b/src/EFCore/Metadata/Internal/CoreAnnotationNames.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class CoreAnnotationNames { /// diff --git a/src/EFCore/Metadata/Internal/DesignTimeModel.cs b/src/EFCore/Metadata/Internal/DesignTimeModel.cs index 4f764fdd3b2..fe6ad4336c0 100644 --- a/src/EFCore/Metadata/Internal/DesignTimeModel.cs +++ b/src/EFCore/Metadata/Internal/DesignTimeModel.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DesignTimeModel : IDesignTimeModel { private readonly IDbContextServices _contextServices; diff --git a/src/EFCore/Metadata/Internal/ElementType.cs b/src/EFCore/Metadata/Internal/ElementType.cs index df5941febc8..170d4b781d8 100644 --- a/src/EFCore/Metadata/Internal/ElementType.cs +++ b/src/EFCore/Metadata/Internal/ElementType.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ElementType : ConventionAnnotatable, IMutableElementType, IConventionElementType, IElementType { private InternalElementTypeBuilder? _builder; diff --git a/src/EFCore/Metadata/Internal/EntityType.cs b/src/EFCore/Metadata/Internal/EntityType.cs index 70150fd083c..2c36bb5c972 100644 --- a/src/EFCore/Metadata/Internal/EntityType.cs +++ b/src/EFCore/Metadata/Internal/EntityType.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityType : TypeBase, IMutableEntityType, IConventionEntityType, IRuntimeEntityType { internal const string DynamicProxyGenAssemblyName = "DynamicProxyGenAssembly2"; @@ -3115,7 +3116,7 @@ private void UpdateServiceOnlyConstructorBindingConfigurationSource(Configuratio /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual Func GetOrCreateMaterializer(IEntityMaterializerSource source) => source.GetMaterializer(this); @@ -3125,7 +3126,7 @@ public virtual Func GetOrCreateMaterializer(IEnt /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual Func GetOrCreateEmptyMaterializer(IEntityMaterializerSource source) => source.GetEmptyMaterializer(this); @@ -4719,6 +4720,7 @@ IEnumerable IEntityType.GetValueGeneratingProperties() /// 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. /// + [Experimental(EFDiagnostics.CoreInternalUsage)] public class Snapshot { /// diff --git a/src/EFCore/Metadata/Internal/EntityTypeExtensions.cs b/src/EFCore/Metadata/Internal/EntityTypeExtensions.cs index 42c1b0cda1a..4b4ea7cc293 100644 --- a/src/EFCore/Metadata/Internal/EntityTypeExtensions.cs +++ b/src/EFCore/Metadata/Internal/EntityTypeExtensions.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class EntityTypeExtensions { /// diff --git a/src/EFCore/Metadata/Internal/EntityTypeParameterBindingFactory.cs b/src/EFCore/Metadata/Internal/EntityTypeParameterBindingFactory.cs index 199e7e99387..9bcb59ddeef 100644 --- a/src/EFCore/Metadata/Internal/EntityTypeParameterBindingFactory.cs +++ b/src/EFCore/Metadata/Internal/EntityTypeParameterBindingFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityTypeParameterBindingFactory : IParameterBindingFactory { /// diff --git a/src/EFCore/Metadata/Internal/ForeignKey.cs b/src/EFCore/Metadata/Internal/ForeignKey.cs index 0eaa60d125f..f1117db2456 100644 --- a/src/EFCore/Metadata/Internal/ForeignKey.cs +++ b/src/EFCore/Metadata/Internal/ForeignKey.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ForeignKey : ConventionAnnotatable, IMutableForeignKey, IConventionForeignKey, IRuntimeForeignKey { private DeleteBehavior? _deleteBehavior; diff --git a/src/EFCore/Metadata/Internal/ForeignKeyExtensions.cs b/src/EFCore/Metadata/Internal/ForeignKeyExtensions.cs index 6f200fd4f4e..7040311e58e 100644 --- a/src/EFCore/Metadata/Internal/ForeignKeyExtensions.cs +++ b/src/EFCore/Metadata/Internal/ForeignKeyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ForeignKeyExtensions { /// diff --git a/src/EFCore/Metadata/Internal/IMemberClassifier.cs b/src/EFCore/Metadata/Internal/IMemberClassifier.cs index 152dd32154b..c6797a850e3 100644 --- a/src/EFCore/Metadata/Internal/IMemberClassifier.cs +++ b/src/EFCore/Metadata/Internal/IMemberClassifier.cs @@ -17,6 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IMemberClassifier { /// diff --git a/src/EFCore/Metadata/Internal/IReferenceRoot.cs b/src/EFCore/Metadata/Internal/IReferenceRoot.cs index e61958276ab..514de01c7fe 100644 --- a/src/EFCore/Metadata/Internal/IReferenceRoot.cs +++ b/src/EFCore/Metadata/Internal/IReferenceRoot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IReferenceRoot { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimeComplexType.cs b/src/EFCore/Metadata/Internal/IRuntimeComplexType.cs index 54d92b589e2..75073ad2752 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeComplexType.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeComplexType.cs @@ -9,4 +9,5 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeComplexType : IComplexType, IRuntimeTypeBase; diff --git a/src/EFCore/Metadata/Internal/IRuntimeEntityType.cs b/src/EFCore/Metadata/Internal/IRuntimeEntityType.cs index e449e843dff..09890440a20 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeEntityType.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeEntityType.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeEntityType : IEntityType, IRuntimeTypeBase { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimeForeignKey.cs b/src/EFCore/Metadata/Internal/IRuntimeForeignKey.cs index e0bd5b48a45..af0958ccf3f 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeForeignKey.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeForeignKey.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeForeignKey : IForeignKey { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimeKey.cs b/src/EFCore/Metadata/Internal/IRuntimeKey.cs index 22a72aedec7..7db347aa4de 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeKey.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeKey.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeKey : IKey { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimeModel.cs b/src/EFCore/Metadata/Internal/IRuntimeModel.cs index a37262a085b..d8a6445ad93 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeModel.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeModel.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeModel : IModel { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimePropertyBase.cs b/src/EFCore/Metadata/Internal/IRuntimePropertyBase.cs index 1049126ca13..33547b21785 100644 --- a/src/EFCore/Metadata/Internal/IRuntimePropertyBase.cs +++ b/src/EFCore/Metadata/Internal/IRuntimePropertyBase.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimePropertyBase : IPropertyBase { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimeSkipNavigation.cs b/src/EFCore/Metadata/Internal/IRuntimeSkipNavigation.cs index 8ea16c84dbf..88d4fb55c44 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeSkipNavigation.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeSkipNavigation.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeSkipNavigation : ISkipNavigation { /// diff --git a/src/EFCore/Metadata/Internal/IRuntimeTypeBase.cs b/src/EFCore/Metadata/Internal/IRuntimeTypeBase.cs index e2593f4b93e..0e736698342 100644 --- a/src/EFCore/Metadata/Internal/IRuntimeTypeBase.cs +++ b/src/EFCore/Metadata/Internal/IRuntimeTypeBase.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IRuntimeTypeBase : ITypeBase { /// diff --git a/src/EFCore/Metadata/Internal/Index.cs b/src/EFCore/Metadata/Internal/Index.cs index aef2b455e1d..2a048f3d476 100644 --- a/src/EFCore/Metadata/Internal/Index.cs +++ b/src/EFCore/Metadata/Internal/Index.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Index : ConventionAnnotatable, IMutableIndex, IConventionIndex, IIndex { private bool? _isUnique; diff --git a/src/EFCore/Metadata/Internal/InternalComplexPropertyBuilder.cs b/src/EFCore/Metadata/Internal/InternalComplexPropertyBuilder.cs index 95217e5416f..08891b6ecf6 100644 --- a/src/EFCore/Metadata/Internal/InternalComplexPropertyBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalComplexPropertyBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalComplexPropertyBuilder : InternalPropertyBaseBuilder, IConventionComplexPropertyBuilder { diff --git a/src/EFCore/Metadata/Internal/InternalComplexTypeBuilder.cs b/src/EFCore/Metadata/Internal/InternalComplexTypeBuilder.cs index c32a85e7df1..033435f5a07 100644 --- a/src/EFCore/Metadata/Internal/InternalComplexTypeBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalComplexTypeBuilder.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalComplexTypeBuilder : InternalTypeBaseBuilder, IConventionComplexTypeBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalElementTypeBuilder.cs b/src/EFCore/Metadata/Internal/InternalElementTypeBuilder.cs index a05183517b2..f82f399317f 100644 --- a/src/EFCore/Metadata/Internal/InternalElementTypeBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalElementTypeBuilder.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalElementTypeBuilder : AnnotatableBuilder, IConventionElementTypeBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalEntityTypeBuilder.cs b/src/EFCore/Metadata/Internal/InternalEntityTypeBuilder.cs index ed24a661d84..479067e6dc4 100644 --- a/src/EFCore/Metadata/Internal/InternalEntityTypeBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalEntityTypeBuilder.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalEntityTypeBuilder : InternalTypeBaseBuilder, IConventionEntityTypeBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalForeignKeyBuilder.cs b/src/EFCore/Metadata/Internal/InternalForeignKeyBuilder.cs index a6e8f89d517..d33af1a3440 100644 --- a/src/EFCore/Metadata/Internal/InternalForeignKeyBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalForeignKeyBuilder.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalForeignKeyBuilder : AnnotatableBuilder, IConventionForeignKeyBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalIndexBuilder.cs b/src/EFCore/Metadata/Internal/InternalIndexBuilder.cs index 089488a89eb..c41b1e3da90 100644 --- a/src/EFCore/Metadata/Internal/InternalIndexBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalIndexBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalIndexBuilder : AnnotatableBuilder, IConventionIndexBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalKeyBuilder.cs b/src/EFCore/Metadata/Internal/InternalKeyBuilder.cs index a4fe1d10b96..6e199789a50 100644 --- a/src/EFCore/Metadata/Internal/InternalKeyBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalKeyBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalKeyBuilder : AnnotatableBuilder, IConventionKeyBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalModelBuilder.cs b/src/EFCore/Metadata/Internal/InternalModelBuilder.cs index 845e65ec0d2..aa806ff9f9d 100644 --- a/src/EFCore/Metadata/Internal/InternalModelBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalModelBuilder.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalModelBuilder : AnnotatableBuilder, IConventionModelBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalNavigationBuilder.cs b/src/EFCore/Metadata/Internal/InternalNavigationBuilder.cs index 39be8943440..a9a9a50ff0e 100644 --- a/src/EFCore/Metadata/Internal/InternalNavigationBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalNavigationBuilder.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalNavigationBuilder : InternalPropertyBaseBuilder, IConventionNavigationBuilder diff --git a/src/EFCore/Metadata/Internal/InternalOwnedEntityTypeBuilder.cs b/src/EFCore/Metadata/Internal/InternalOwnedEntityTypeBuilder.cs index daa6cee8f60..045883c4dc3 100644 --- a/src/EFCore/Metadata/Internal/InternalOwnedEntityTypeBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalOwnedEntityTypeBuilder.cs @@ -9,4 +9,5 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalOwnedEntityTypeBuilder : IConventionOwnedEntityTypeBuilder; diff --git a/src/EFCore/Metadata/Internal/InternalPropertyBaseBuilder.cs b/src/EFCore/Metadata/Internal/InternalPropertyBaseBuilder.cs index 050d0cafce5..942e048a930 100644 --- a/src/EFCore/Metadata/Internal/InternalPropertyBaseBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalPropertyBaseBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class InternalPropertyBaseBuilder : AnnotatableBuilder where TBuilder : class, IConventionPropertyBaseBuilder diff --git a/src/EFCore/Metadata/Internal/InternalPropertyBuilder.cs b/src/EFCore/Metadata/Internal/InternalPropertyBuilder.cs index 96fa8aae66a..a4b38d8b40b 100644 --- a/src/EFCore/Metadata/Internal/InternalPropertyBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalPropertyBuilder.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalPropertyBuilder : InternalPropertyBaseBuilder, IConventionPropertyBuilder { diff --git a/src/EFCore/Metadata/Internal/InternalServicePropertyBuilder.cs b/src/EFCore/Metadata/Internal/InternalServicePropertyBuilder.cs index 1535130f379..72785de6b2b 100644 --- a/src/EFCore/Metadata/Internal/InternalServicePropertyBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalServicePropertyBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalServicePropertyBuilder : InternalPropertyBaseBuilder, IConventionServicePropertyBuilder diff --git a/src/EFCore/Metadata/Internal/InternalSkipNavigationBuilder.cs b/src/EFCore/Metadata/Internal/InternalSkipNavigationBuilder.cs index a5bef15398a..44e3cdabec0 100644 --- a/src/EFCore/Metadata/Internal/InternalSkipNavigationBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalSkipNavigationBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalSkipNavigationBuilder : InternalPropertyBaseBuilder, IConventionSkipNavigationBuilder diff --git a/src/EFCore/Metadata/Internal/InternalTriggerBuilder.cs b/src/EFCore/Metadata/Internal/InternalTriggerBuilder.cs index 6446a9a7bdc..4d2106c5fe9 100644 --- a/src/EFCore/Metadata/Internal/InternalTriggerBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalTriggerBuilder.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InternalTriggerBuilder : AnnotatableBuilder, IConventionTriggerBuilder { /// diff --git a/src/EFCore/Metadata/Internal/InternalTypeBaseBuilder.cs b/src/EFCore/Metadata/Internal/InternalTypeBaseBuilder.cs index 0c48a9cc9c8..efe2245c9fd 100644 --- a/src/EFCore/Metadata/Internal/InternalTypeBaseBuilder.cs +++ b/src/EFCore/Metadata/Internal/InternalTypeBaseBuilder.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class InternalTypeBaseBuilder : AnnotatableBuilder, IConventionTypeBaseBuilder { diff --git a/src/EFCore/Metadata/Internal/Key.cs b/src/EFCore/Metadata/Internal/Key.cs index d9ebe19f42d..b15f758147e 100644 --- a/src/EFCore/Metadata/Internal/Key.cs +++ b/src/EFCore/Metadata/Internal/Key.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Key : ConventionAnnotatable, IMutableKey, IConventionKey, IRuntimeKey { private InternalKeyBuilder? _builder; diff --git a/src/EFCore/Metadata/Internal/KeyExtensions.cs b/src/EFCore/Metadata/Internal/KeyExtensions.cs index e67bc68ba7e..15b242fc171 100644 --- a/src/EFCore/Metadata/Internal/KeyExtensions.cs +++ b/src/EFCore/Metadata/Internal/KeyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class KeyExtensions { /// diff --git a/src/EFCore/Metadata/Internal/MemberClassifier.cs b/src/EFCore/Metadata/Internal/MemberClassifier.cs index b5f64ee791e..676f4e27ad5 100644 --- a/src/EFCore/Metadata/Internal/MemberClassifier.cs +++ b/src/EFCore/Metadata/Internal/MemberClassifier.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class MemberClassifier : IMemberClassifier { private readonly ITypeMappingSource _typeMappingSource; diff --git a/src/EFCore/Metadata/Internal/Model.cs b/src/EFCore/Metadata/Internal/Model.cs index e4e04ad9cff..3e7f4d45c3a 100644 --- a/src/EFCore/Metadata/Internal/Model.cs +++ b/src/EFCore/Metadata/Internal/Model.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Model : ConventionAnnotatable, IMutableModel, IConventionModel, IRuntimeModel { /// diff --git a/src/EFCore/Metadata/Internal/ModelConfiguration.cs b/src/EFCore/Metadata/Internal/ModelConfiguration.cs index 380b6ca4409..6ae9f51e6cf 100644 --- a/src/EFCore/Metadata/Internal/ModelConfiguration.cs +++ b/src/EFCore/Metadata/Internal/ModelConfiguration.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ModelConfiguration { private readonly Dictionary _properties = new(); diff --git a/src/EFCore/Metadata/Internal/ModelExtensions.cs b/src/EFCore/Metadata/Internal/ModelExtensions.cs index df661eb72ca..ab117e7eb3f 100644 --- a/src/EFCore/Metadata/Internal/ModelExtensions.cs +++ b/src/EFCore/Metadata/Internal/ModelExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class ModelExtensions { /// diff --git a/src/EFCore/Metadata/Internal/Navigation.cs b/src/EFCore/Metadata/Internal/Navigation.cs index f70a2e34c86..b2df4d45d33 100644 --- a/src/EFCore/Metadata/Internal/Navigation.cs +++ b/src/EFCore/Metadata/Internal/Navigation.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Navigation : PropertyBase, IMutableNavigation, IConventionNavigation, INavigation { private InternalNavigationBuilder? _builder; diff --git a/src/EFCore/Metadata/Internal/NavigationExtensions.cs b/src/EFCore/Metadata/Internal/NavigationExtensions.cs index 1cb4dd66c13..adbb0119b70 100644 --- a/src/EFCore/Metadata/Internal/NavigationExtensions.cs +++ b/src/EFCore/Metadata/Internal/NavigationExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class NavigationExtensions { /// diff --git a/src/EFCore/Metadata/Internal/ParameterBindingFactories.cs b/src/EFCore/Metadata/Internal/ParameterBindingFactories.cs index e48a5a9b259..95204c01a9a 100644 --- a/src/EFCore/Metadata/Internal/ParameterBindingFactories.cs +++ b/src/EFCore/Metadata/Internal/ParameterBindingFactories.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ParameterBindingFactories : IParameterBindingFactories { private readonly IRegisteredServices _registeredServices; diff --git a/src/EFCore/Metadata/Internal/PropertiesSnapshot.cs b/src/EFCore/Metadata/Internal/PropertiesSnapshot.cs index 4c7db06c6a5..74eeca2770e 100644 --- a/src/EFCore/Metadata/Internal/PropertiesSnapshot.cs +++ b/src/EFCore/Metadata/Internal/PropertiesSnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class PropertiesSnapshot { /// diff --git a/src/EFCore/Metadata/Internal/Property.cs b/src/EFCore/Metadata/Internal/Property.cs index efbbd72c4aa..2ddaf0e7df7 100644 --- a/src/EFCore/Metadata/Internal/Property.cs +++ b/src/EFCore/Metadata/Internal/Property.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Property : PropertyBase, IMutableProperty, IConventionProperty, IProperty { private InternalPropertyBuilder? _builder; diff --git a/src/EFCore/Metadata/Internal/PropertyAccessors.cs b/src/EFCore/Metadata/Internal/PropertyAccessors.cs index 4a40497da83..6bd89450ea6 100644 --- a/src/EFCore/Metadata/Internal/PropertyAccessors.cs +++ b/src/EFCore/Metadata/Internal/PropertyAccessors.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class PropertyAccessors { /// diff --git a/src/EFCore/Metadata/Internal/PropertyAccessorsFactory.cs b/src/EFCore/Metadata/Internal/PropertyAccessorsFactory.cs index 617f7f9c520..07d1ee39af4 100644 --- a/src/EFCore/Metadata/Internal/PropertyAccessorsFactory.cs +++ b/src/EFCore/Metadata/Internal/PropertyAccessorsFactory.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class PropertyAccessorsFactory { private PropertyAccessorsFactory() diff --git a/src/EFCore/Metadata/Internal/PropertyBase.cs b/src/EFCore/Metadata/Internal/PropertyBase.cs index 4f5fc7b173d..a3e5d60052a 100644 --- a/src/EFCore/Metadata/Internal/PropertyBase.cs +++ b/src/EFCore/Metadata/Internal/PropertyBase.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class PropertyBase : ConventionAnnotatable, IMutablePropertyBase, IConventionPropertyBase, IRuntimePropertyBase { private FieldInfo? _fieldInfo; diff --git a/src/EFCore/Metadata/Internal/PropertyBaseExtensions.cs b/src/EFCore/Metadata/Internal/PropertyBaseExtensions.cs index c8626e4cc98..f7c3f1fe9cd 100644 --- a/src/EFCore/Metadata/Internal/PropertyBaseExtensions.cs +++ b/src/EFCore/Metadata/Internal/PropertyBaseExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class PropertyBaseExtensions { /// diff --git a/src/EFCore/Metadata/Internal/PropertyConfiguration.cs b/src/EFCore/Metadata/Internal/PropertyConfiguration.cs index e5b9af38378..2d0c499b181 100644 --- a/src/EFCore/Metadata/Internal/PropertyConfiguration.cs +++ b/src/EFCore/Metadata/Internal/PropertyConfiguration.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class PropertyConfiguration : AnnotatableBase, ITypeMappingConfiguration { private ValueConverter? _valueConverter; diff --git a/src/EFCore/Metadata/Internal/PropertyCounts.cs b/src/EFCore/Metadata/Internal/PropertyCounts.cs index 4ba361ecf71..a24e8d8e008 100644 --- a/src/EFCore/Metadata/Internal/PropertyCounts.cs +++ b/src/EFCore/Metadata/Internal/PropertyCounts.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class PropertyCounts { /// diff --git a/src/EFCore/Metadata/Internal/PropertyExtensions.cs b/src/EFCore/Metadata/Internal/PropertyExtensions.cs index 2bbfb3bcceb..f7cdb500001 100644 --- a/src/EFCore/Metadata/Internal/PropertyExtensions.cs +++ b/src/EFCore/Metadata/Internal/PropertyExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class PropertyExtensions { /// diff --git a/src/EFCore/Metadata/Internal/PropertyIndexes.cs b/src/EFCore/Metadata/Internal/PropertyIndexes.cs index 8e9fa9ef053..48536aef048 100644 --- a/src/EFCore/Metadata/Internal/PropertyIndexes.cs +++ b/src/EFCore/Metadata/Internal/PropertyIndexes.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class PropertyIndexes { /// diff --git a/src/EFCore/Metadata/Internal/PropertyListComparer.cs b/src/EFCore/Metadata/Internal/PropertyListComparer.cs index f8a91b27d8a..2f5a4611b09 100644 --- a/src/EFCore/Metadata/Internal/PropertyListComparer.cs +++ b/src/EFCore/Metadata/Internal/PropertyListComparer.cs @@ -10,6 +10,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// // Sealed for perf +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class PropertyListComparer : IComparer>, IEqualityComparer> { diff --git a/src/EFCore/Metadata/Internal/PropertyNameComparer.cs b/src/EFCore/Metadata/Internal/PropertyNameComparer.cs index 86bb84303ff..5b786eb71ae 100644 --- a/src/EFCore/Metadata/Internal/PropertyNameComparer.cs +++ b/src/EFCore/Metadata/Internal/PropertyNameComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class PropertyNameComparer : IComparer, IEqualityComparer { private readonly IReadOnlyEntityType? _entityType; diff --git a/src/EFCore/Metadata/Internal/PropertyParameterBindingFactory.cs b/src/EFCore/Metadata/Internal/PropertyParameterBindingFactory.cs index 4cac73748ee..6d280fa067e 100644 --- a/src/EFCore/Metadata/Internal/PropertyParameterBindingFactory.cs +++ b/src/EFCore/Metadata/Internal/PropertyParameterBindingFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class PropertyParameterBindingFactory : IPropertyParameterBindingFactory { /// diff --git a/src/EFCore/Metadata/Internal/Reference.cs b/src/EFCore/Metadata/Internal/Reference.cs index f8917878b58..127e9f21b3c 100644 --- a/src/EFCore/Metadata/Internal/Reference.cs +++ b/src/EFCore/Metadata/Internal/Reference.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Reference : IMetadataReference { private T _object; diff --git a/src/EFCore/Metadata/Internal/RelationshipSnapshot.cs b/src/EFCore/Metadata/Internal/RelationshipSnapshot.cs index bcfb41abc2a..100c0d19959 100644 --- a/src/EFCore/Metadata/Internal/RelationshipSnapshot.cs +++ b/src/EFCore/Metadata/Internal/RelationshipSnapshot.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class RelationshipSnapshot { /// diff --git a/src/EFCore/Metadata/Internal/ServiceProperty.cs b/src/EFCore/Metadata/Internal/ServiceProperty.cs index f4a589f9332..076ec71bf2b 100644 --- a/src/EFCore/Metadata/Internal/ServiceProperty.cs +++ b/src/EFCore/Metadata/Internal/ServiceProperty.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ServiceProperty : PropertyBase, IMutableServiceProperty, IConventionServiceProperty, IServiceProperty { private ServiceParameterBinding? _parameterBinding; diff --git a/src/EFCore/Metadata/Internal/SkipNavigation.cs b/src/EFCore/Metadata/Internal/SkipNavigation.cs index 371e1011d34..cbcb0a47633 100644 --- a/src/EFCore/Metadata/Internal/SkipNavigation.cs +++ b/src/EFCore/Metadata/Internal/SkipNavigation.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SkipNavigation : PropertyBase, IMutableSkipNavigation, IConventionSkipNavigation, IRuntimeSkipNavigation { private ConfigurationSource? _foreignKeyConfigurationSource; diff --git a/src/EFCore/Metadata/Internal/SkipNavigationComparer.cs b/src/EFCore/Metadata/Internal/SkipNavigationComparer.cs index 2ae23a5d405..91bd026667c 100644 --- a/src/EFCore/Metadata/Internal/SkipNavigationComparer.cs +++ b/src/EFCore/Metadata/Internal/SkipNavigationComparer.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed class SkipNavigationComparer : IComparer { private SkipNavigationComparer() diff --git a/src/EFCore/Metadata/Internal/SkipNavigationExtensions.cs b/src/EFCore/Metadata/Internal/SkipNavigationExtensions.cs index 5ac690d599b..11e2226e551 100644 --- a/src/EFCore/Metadata/Internal/SkipNavigationExtensions.cs +++ b/src/EFCore/Metadata/Internal/SkipNavigationExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class SkipNavigationExtensions { /// diff --git a/src/EFCore/Metadata/Internal/Trigger.cs b/src/EFCore/Metadata/Internal/Trigger.cs index 639b219f270..77fe202e018 100644 --- a/src/EFCore/Metadata/Internal/Trigger.cs +++ b/src/EFCore/Metadata/Internal/Trigger.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class Trigger : ConventionAnnotatable, IMutableTrigger, IConventionTrigger, ITrigger { private InternalTriggerBuilder? _builder; @@ -115,7 +116,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((ITrigger)this).ToDebugString(), diff --git a/src/EFCore/Metadata/Internal/TypeBase.cs b/src/EFCore/Metadata/Internal/TypeBase.cs index 8aed3c7bc18..56fed142a94 100644 --- a/src/EFCore/Metadata/Internal/TypeBase.cs +++ b/src/EFCore/Metadata/Internal/TypeBase.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class TypeBase : ConventionAnnotatable, IMutableTypeBase, IConventionTypeBase, ITypeBase { private readonly SortedDictionary _properties; diff --git a/src/EFCore/Metadata/Internal/TypeConfigurationType.cs b/src/EFCore/Metadata/Internal/TypeConfigurationType.cs index 0f1313bae28..fa85401855a 100644 --- a/src/EFCore/Metadata/Internal/TypeConfigurationType.cs +++ b/src/EFCore/Metadata/Internal/TypeConfigurationType.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public enum TypeConfigurationType { /// diff --git a/src/EFCore/Metadata/Internal/TypeConfigurationTypeExtensions.cs b/src/EFCore/Metadata/Internal/TypeConfigurationTypeExtensions.cs index eab24983e87..3e0643f6565 100644 --- a/src/EFCore/Metadata/Internal/TypeConfigurationTypeExtensions.cs +++ b/src/EFCore/Metadata/Internal/TypeConfigurationTypeExtensions.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public static class TypeConfigurationTypeExtensions { /// diff --git a/src/EFCore/Metadata/Internal/TypeIdentity.cs b/src/EFCore/Metadata/Internal/TypeIdentity.cs index 8afe68643d0..5606c693db3 100644 --- a/src/EFCore/Metadata/Internal/TypeIdentity.cs +++ b/src/EFCore/Metadata/Internal/TypeIdentity.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Internal; /// doing so can result in application failures when updating to a new Entity Framework Core release. /// [DebuggerDisplay("{DebuggerDisplay(),nq}")] +[Experimental(EFDiagnostics.CoreInternalUsage)] public readonly struct TypeIdentity : IEquatable { /// diff --git a/src/EFCore/Metadata/LazyLoaderParameterBindingFactoryDependencies.cs b/src/EFCore/Metadata/LazyLoaderParameterBindingFactoryDependencies.cs index 01f46fcd670..7458537cc79 100644 --- a/src/EFCore/Metadata/LazyLoaderParameterBindingFactoryDependencies.cs +++ b/src/EFCore/Metadata/LazyLoaderParameterBindingFactoryDependencies.cs @@ -44,7 +44,7 @@ public sealed record LazyLoaderParameterBindingFactoryDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public LazyLoaderParameterBindingFactoryDependencies() { } diff --git a/src/EFCore/Metadata/RuntimeAnnotatableBase.cs b/src/EFCore/Metadata/RuntimeAnnotatableBase.cs index cc7d6429d5e..672ad4ae089 100644 --- a/src/EFCore/Metadata/RuntimeAnnotatableBase.cs +++ b/src/EFCore/Metadata/RuntimeAnnotatableBase.cs @@ -30,7 +30,7 @@ public class RuntimeAnnotatableBase : IAnnotatable /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeAnnotatableBase() { } diff --git a/src/EFCore/Metadata/RuntimeComplexProperty.cs b/src/EFCore/Metadata/RuntimeComplexProperty.cs index e8b95bbeafb..945560f5e41 100644 --- a/src/EFCore/Metadata/RuntimeComplexProperty.cs +++ b/src/EFCore/Metadata/RuntimeComplexProperty.cs @@ -22,7 +22,7 @@ public class RuntimeComplexProperty : RuntimePropertyBase, IComplexProperty /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeComplexProperty( string name, Type clrType, @@ -84,7 +84,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyComplexProperty)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeComplexType.cs b/src/EFCore/Metadata/RuntimeComplexType.cs index a46e7f3d3de..1f2c78aa5f3 100644 --- a/src/EFCore/Metadata/RuntimeComplexType.cs +++ b/src/EFCore/Metadata/RuntimeComplexType.cs @@ -26,7 +26,7 @@ public class RuntimeComplexType : RuntimeTypeBase, IRuntimeComplexType /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeComplexType( string name, [DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] Type type, @@ -132,7 +132,7 @@ public override InstantiationBinding? ConstructorBinding /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual InstantiationBinding? ServiceOnlyConstructorBinding { [DebuggerStepThrough] @@ -186,7 +186,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyComplexType)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeElementType.cs b/src/EFCore/Metadata/RuntimeElementType.cs index 74a78f2d229..c3fdc005628 100644 --- a/src/EFCore/Metadata/RuntimeElementType.cs +++ b/src/EFCore/Metadata/RuntimeElementType.cs @@ -26,7 +26,7 @@ public class RuntimeElementType : RuntimeAnnotatableBase, IElementType /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeElementType( Type clrType, RuntimeProperty collectionProperty, diff --git a/src/EFCore/Metadata/RuntimeEntityType.cs b/src/EFCore/Metadata/RuntimeEntityType.cs index 2eedb86e771..1a2b471c1a1 100644 --- a/src/EFCore/Metadata/RuntimeEntityType.cs +++ b/src/EFCore/Metadata/RuntimeEntityType.cs @@ -51,7 +51,7 @@ public class RuntimeEntityType : RuntimeTypeBase, IRuntimeEntityType /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeEntityType( string name, [DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] Type type, @@ -803,7 +803,7 @@ private IEnumerable GetTriggers() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetRelationshipSnapshotFactory(Func factory) => _relationshipSnapshotFactory = factory; @@ -833,7 +833,7 @@ public override InstantiationBinding? ConstructorBinding /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual InstantiationBinding? ServiceOnlyConstructorBinding { [DebuggerStepThrough] @@ -849,7 +849,7 @@ public virtual InstantiationBinding? ServiceOnlyConstructorBinding /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual PropertyCounts Counts { get => NonCapturingLazyInitializer.EnsureInitialized(ref _counts, this, static entityType => @@ -901,7 +901,7 @@ static IEnumerable Create(RuntimeEntityType type) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual Func GetOrCreateMaterializer(IEntityMaterializerSource source) => NonCapturingLazyInitializer.EnsureInitialized( ref _materializer, this, source, @@ -913,7 +913,7 @@ public virtual Func GetOrCreateMaterializer(IEnt /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual Func GetOrCreateEmptyMaterializer(IEntityMaterializerSource source) => NonCapturingLazyInitializer.EnsureInitialized( ref _emptyMaterializer, this, source, @@ -932,7 +932,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyEntityType)this).ToDebugString(), @@ -1391,7 +1391,7 @@ PropertyAccessMode IReadOnlyEntityType.GetNavigationAccessMode() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetOriginalValuesFactory(Func factory) => _originalValuesFactory = factory; @@ -1401,7 +1401,7 @@ public virtual void SetOriginalValuesFactory(Func - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetStoreGeneratedValuesFactory(Func factory) => _storeGeneratedValuesFactory = factory; @@ -1411,7 +1411,7 @@ public virtual void SetStoreGeneratedValuesFactory(Func factory) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetTemporaryValuesFactory(Func factory) => _temporaryValuesFactory = factory; @@ -1421,7 +1421,7 @@ public virtual void SetTemporaryValuesFactory(Func - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetEmptyShadowValuesFactory(Func factory) => _emptyShadowValuesFactory = factory; @@ -1431,7 +1431,7 @@ public virtual void SetEmptyShadowValuesFactory(Func factory) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetShadowValuesFactory(Func, ISnapshot> factory) => _shadowValuesFactory = factory; diff --git a/src/EFCore/Metadata/RuntimeForeignKey.cs b/src/EFCore/Metadata/RuntimeForeignKey.cs index c9fbea555c9..99f724d621b 100644 --- a/src/EFCore/Metadata/RuntimeForeignKey.cs +++ b/src/EFCore/Metadata/RuntimeForeignKey.cs @@ -31,7 +31,7 @@ public class RuntimeForeignKey : RuntimeAnnotatableBase, IRuntimeForeignKey /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeForeignKey( IReadOnlyList dependentProperties, RuntimeKey principalKey, @@ -90,7 +90,7 @@ public RuntimeForeignKey( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void AddNavigation( RuntimeNavigation navigation, bool onDependent) @@ -111,7 +111,7 @@ public virtual void AddNavigation( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual ISet? ReferencingSkipNavigations { get; set; } /// @@ -120,7 +120,7 @@ public virtual void AddNavigation( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyForeignKey)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeIndex.cs b/src/EFCore/Metadata/RuntimeIndex.cs index f0631916ad5..1cf488a76ac 100644 --- a/src/EFCore/Metadata/RuntimeIndex.cs +++ b/src/EFCore/Metadata/RuntimeIndex.cs @@ -25,7 +25,7 @@ public class RuntimeIndex : RuntimeAnnotatableBase, IIndex /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeIndex( IReadOnlyList properties, RuntimeEntityType declaringEntityType, @@ -77,7 +77,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IIndex)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeKey.cs b/src/EFCore/Metadata/RuntimeKey.cs index 6f8d446c06c..6fe3a6c684e 100644 --- a/src/EFCore/Metadata/RuntimeKey.cs +++ b/src/EFCore/Metadata/RuntimeKey.cs @@ -25,7 +25,7 @@ public class RuntimeKey : RuntimeAnnotatableBase, IRuntimeKey /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeKey(IReadOnlyList properties) { Properties = properties; @@ -53,7 +53,7 @@ public virtual RuntimeEntityType DeclaringEntityType /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual ISet? ReferencingForeignKeys { get; set; } /// @@ -62,7 +62,7 @@ public virtual RuntimeEntityType DeclaringEntityType /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetPrincipalKeyValueFactory(IPrincipalKeyValueFactory factory) => _principalKeyValueFactory = factory; @@ -72,7 +72,7 @@ public virtual void SetPrincipalKeyValueFactory(IPrincipalKeyValueFactory< /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetIdentityMapFactory(Func factory) => _identityMapFactory = factory; @@ -89,7 +89,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyKey)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeModel.cs b/src/EFCore/Metadata/RuntimeModel.cs index 19051377762..9145d95f23d 100644 --- a/src/EFCore/Metadata/RuntimeModel.cs +++ b/src/EFCore/Metadata/RuntimeModel.cs @@ -47,7 +47,7 @@ public class RuntimeModel : RuntimeAnnotatableBase, IRuntimeModel /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] [Obsolete("Use a constructor with parameters")] public RuntimeModel() : base() @@ -62,7 +62,7 @@ public RuntimeModel() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeModel( bool skipDetectChanges, Guid modelId, @@ -88,7 +88,7 @@ public virtual void SetSkipDetectChanges(bool skipDetectChanges) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] [Obsolete("This is set in the constructor now")] public virtual Guid ModelId { get => _modelId; set => _modelId = value; } @@ -306,7 +306,7 @@ private string GetDisplayName(Type type) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual IModel FinalizeModel() => this; @@ -325,7 +325,7 @@ public virtual IModel FinalizeModel() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyModel)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeNavigation.cs b/src/EFCore/Metadata/RuntimeNavigation.cs index 5fc47a790be..5834704848a 100644 --- a/src/EFCore/Metadata/RuntimeNavigation.cs +++ b/src/EFCore/Metadata/RuntimeNavigation.cs @@ -26,7 +26,7 @@ public class RuntimeNavigation : RuntimePropertyBase, INavigation /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeNavigation( string name, Type clrType, @@ -85,7 +85,7 @@ public override object? Sentinel /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetCollectionAccessor( Func? getCollection, Action? setCollection, @@ -120,7 +120,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlyNavigation)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeProperty.cs b/src/EFCore/Metadata/RuntimeProperty.cs index f2797276a9b..434e0a7bcd9 100644 --- a/src/EFCore/Metadata/RuntimeProperty.cs +++ b/src/EFCore/Metadata/RuntimeProperty.cs @@ -38,7 +38,7 @@ public class RuntimeProperty : RuntimePropertyBase, IProperty /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeProperty( string name, Type clrType, @@ -184,7 +184,7 @@ public virtual RuntimeElementType SetElementType( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual RuntimeKey? PrimaryKey { get; set; } /// @@ -193,7 +193,7 @@ public virtual RuntimeElementType SetElementType( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual List? Keys { get; set; } private IEnumerable GetContainingKeys() @@ -205,7 +205,7 @@ private IEnumerable GetContainingKeys() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual ISet? ForeignKeys { get; set; } private IEnumerable GetContainingForeignKeys() @@ -217,7 +217,7 @@ private IEnumerable GetContainingForeignKeys() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual List? Indexes { get; set; } private IEnumerable GetContainingIndexes() diff --git a/src/EFCore/Metadata/RuntimePropertyBase.cs b/src/EFCore/Metadata/RuntimePropertyBase.cs index 0d98622b493..6bd163f143f 100644 --- a/src/EFCore/Metadata/RuntimePropertyBase.cs +++ b/src/EFCore/Metadata/RuntimePropertyBase.cs @@ -35,7 +35,7 @@ public abstract class RuntimePropertyBase : RuntimeAnnotatableBase, IRuntimeProp /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected RuntimePropertyBase( string name, PropertyInfo? propertyInfo, @@ -92,7 +92,7 @@ PropertyAccessMode IReadOnlyPropertyBase.GetPropertyAccessMode() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetPropertyIndexes(int index, int originalValueIndex, int shadowIndex, int relationshipIndex, int storeGenerationIndex) => _indexes = new(index, originalValueIndex, shadowIndex, relationshipIndex, storeGenerationIndex); @@ -102,7 +102,7 @@ public virtual void SetPropertyIndexes(int index, int originalValueIndex, int sh /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetAccessors( Func currentValueGetter, Func preStoreGeneratedCurrentValueGetter, @@ -122,7 +122,7 @@ public virtual void SetAccessors( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetMaterializationSetter(Action setter) where TEntity : class => _materializationSetter = new ClrPropertySetter(setter); @@ -133,7 +133,7 @@ public virtual void SetMaterializationSetter(Action - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetSetter(Action setter) where TEntity : class => _setter = new ClrPropertySetter(setter); @@ -144,7 +144,7 @@ public virtual void SetSetter(Action setter) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetGetter( Func getter, Func hasDefaultValue, diff --git a/src/EFCore/Metadata/RuntimeServiceProperty.cs b/src/EFCore/Metadata/RuntimeServiceProperty.cs index 7b4332617f5..3a6635e94f7 100644 --- a/src/EFCore/Metadata/RuntimeServiceProperty.cs +++ b/src/EFCore/Metadata/RuntimeServiceProperty.cs @@ -23,7 +23,7 @@ public class RuntimeServiceProperty : RuntimePropertyBase, IServiceProperty /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeServiceProperty( string name, PropertyInfo? propertyInfo, @@ -89,7 +89,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IServiceProperty)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeSkipNavigation.cs b/src/EFCore/Metadata/RuntimeSkipNavigation.cs index 73eb8d5ef17..6fb21bab0da 100644 --- a/src/EFCore/Metadata/RuntimeSkipNavigation.cs +++ b/src/EFCore/Metadata/RuntimeSkipNavigation.cs @@ -32,7 +32,7 @@ public class RuntimeSkipNavigation : RuntimePropertyBase, IRuntimeSkipNavigation /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeSkipNavigation( string name, Type clrType, @@ -110,7 +110,7 @@ public override object? Sentinel /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void SetCollectionAccessor( Func? getCollection, Action? setCollection, @@ -145,7 +145,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((IReadOnlySkipNavigation)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeTrigger.cs b/src/EFCore/Metadata/RuntimeTrigger.cs index c5d8fd1472d..7401ba72a18 100644 --- a/src/EFCore/Metadata/RuntimeTrigger.cs +++ b/src/EFCore/Metadata/RuntimeTrigger.cs @@ -14,7 +14,7 @@ public class RuntimeTrigger : RuntimeAnnotatableBase, ITrigger /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeTrigger( RuntimeEntityType entityType, string modelName) @@ -39,7 +39,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual DebugView DebugView => new( () => ((ITrigger)this).ToDebugString(), diff --git a/src/EFCore/Metadata/RuntimeTypeBase.cs b/src/EFCore/Metadata/RuntimeTypeBase.cs index aea301e943a..8fc31daebb7 100644 --- a/src/EFCore/Metadata/RuntimeTypeBase.cs +++ b/src/EFCore/Metadata/RuntimeTypeBase.cs @@ -36,7 +36,7 @@ public abstract class RuntimeTypeBase : RuntimeAnnotatableBase, IRuntimeTypeBase /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected RuntimeTypeBase( string name, [DynamicallyAccessedMembers(IEntityType.DynamicallyAccessedMemberTypes)] Type type, @@ -93,7 +93,7 @@ public virtual RuntimeTypeBase? BaseType /// Gets all types in the model that directly derive from this type. /// /// The derived types. - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IEnumerable DirectlyDerivedTypes => _directlyDerivedTypes ?? Enumerable.Empty(); @@ -103,7 +103,7 @@ protected virtual IEnumerable DirectlyDerivedTypes /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual bool HasDirectlyDerivedTypes => _directlyDerivedTypes != null && _directlyDerivedTypes.Count > 0; @@ -114,7 +114,7 @@ protected virtual bool HasDirectlyDerivedTypes /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual IEnumerable GetDerivedTypes() => GetDerivedTypes(); @@ -253,7 +253,7 @@ public virtual RuntimeProperty AddProperty( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual RuntimeProperty? FindDeclaredProperty(string name) => _properties.TryGetValue(name, out var property) ? property @@ -326,7 +326,7 @@ private IEnumerable FindDerivedProperties(string propertyName) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual IEnumerable GetProperties() => _baseType != null ? _baseType.GetProperties().Concat(_properties.Values) @@ -595,7 +595,7 @@ static IEnumerable Create(RuntimeTypeBase type) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual void FinalizeType() { } diff --git a/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs b/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs index 090d4699264..246a9beaef0 100644 --- a/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs +++ b/src/EFCore/Metadata/RuntimeTypeMappingConfiguration.cs @@ -21,7 +21,7 @@ public sealed class RuntimeTypeMappingConfiguration : RuntimeAnnotatableBase, IT /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public RuntimeTypeMappingConfiguration( Type clrType, int? maxLength, diff --git a/src/EFCore/ModelBuilder.cs b/src/EFCore/ModelBuilder.cs index 2946849ba9d..8cd92f72dd7 100644 --- a/src/EFCore/ModelBuilder.cs +++ b/src/EFCore/ModelBuilder.cs @@ -62,7 +62,7 @@ public ModelBuilder(ConventionSet conventions, ModelDependencies modelDependenci /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelBuilder(ConventionSet conventions, ModelDependencies? modelDependencies, ModelConfiguration? modelConfiguration) { Check.NotNull(conventions, nameof(conventions)); @@ -95,7 +95,7 @@ public ModelBuilder() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelBuilder(IMutableModel model) { _builder = ((Model)model).Builder; diff --git a/src/EFCore/ModelConfigurationBuilder.cs b/src/EFCore/ModelConfigurationBuilder.cs index 6dfad657c67..11dff73f4a7 100644 --- a/src/EFCore/ModelConfigurationBuilder.cs +++ b/src/EFCore/ModelConfigurationBuilder.cs @@ -33,7 +33,7 @@ public class ModelConfigurationBuilder /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ModelConfigurationBuilder(ConventionSet conventions, IServiceProvider serviceProvider) { Check.NotNull(conventions, nameof(conventions)); @@ -48,7 +48,7 @@ public ModelConfigurationBuilder(ConventionSet conventions, IServiceProvider ser /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual ModelConfiguration ModelConfiguration => _modelConfiguration; diff --git a/src/EFCore/Properties/CoreStrings.Designer.cs b/src/EFCore/Properties/CoreStrings.Designer.cs index 12a35ead3e1..678052349e4 100644 --- a/src/EFCore/Properties/CoreStrings.Designer.cs +++ b/src/EFCore/Properties/CoreStrings.Designer.cs @@ -3234,6 +3234,7 @@ namespace Microsoft.EntityFrameworkCore.Diagnostics.Internal /// 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. /// + [Experimental(EFDiagnostics.CoreInternalUsage)] public static class CoreResources { private static readonly ResourceManager _resourceManager diff --git a/src/EFCore/Properties/CoreStrings.Designer.tt b/src/EFCore/Properties/CoreStrings.Designer.tt index dddf7f10422..cf011407d56 100644 --- a/src/EFCore/Properties/CoreStrings.Designer.tt +++ b/src/EFCore/Properties/CoreStrings.Designer.tt @@ -3,5 +3,6 @@ Session["ResourceFile"] = "CoreStrings.resx"; Session["ResourceNamespace"] = "Microsoft.EntityFrameworkCore.Properties"; Session["LoggingDefinitionsClass"] = "LoggingDefinitions"; + Session["ExperimentalAttributeArgument"] = "EFDiagnostics.CoreInternalUsage"; #> <#@ include file="..\..\..\tools\Resources.tt" #> \ No newline at end of file diff --git a/src/EFCore/Query/CompiledQueryCacheKeyGeneratorDependencies.cs b/src/EFCore/Query/CompiledQueryCacheKeyGeneratorDependencies.cs index fa80a895455..8e5e67eed97 100644 --- a/src/EFCore/Query/CompiledQueryCacheKeyGeneratorDependencies.cs +++ b/src/EFCore/Query/CompiledQueryCacheKeyGeneratorDependencies.cs @@ -44,7 +44,7 @@ public sealed record CompiledQueryCacheKeyGeneratorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public CompiledQueryCacheKeyGeneratorDependencies( IModel model, ICurrentDbContext currentContext, diff --git a/src/EFCore/Query/EvaluatableExpressionFilterDependencies.cs b/src/EFCore/Query/EvaluatableExpressionFilterDependencies.cs index df94a6b49f9..45f1c430696 100644 --- a/src/EFCore/Query/EvaluatableExpressionFilterDependencies.cs +++ b/src/EFCore/Query/EvaluatableExpressionFilterDependencies.cs @@ -43,7 +43,7 @@ public sealed record EvaluatableExpressionFilterDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EvaluatableExpressionFilterDependencies(IEnumerable plugins) { Plugins = plugins; diff --git a/src/EFCore/Query/IncludeExpression.cs b/src/EFCore/Query/IncludeExpression.cs index c16cd724931..5b4fa3a118e 100644 --- a/src/EFCore/Query/IncludeExpression.cs +++ b/src/EFCore/Query/IncludeExpression.cs @@ -39,7 +39,7 @@ public IncludeExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IncludeExpression( Expression entityExpression, Expression navigationExpression, @@ -74,7 +74,7 @@ public IncludeExpression( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual bool SetLoaded { get; } /// diff --git a/src/EFCore/Query/Internal/CallForwardingExpressionVisitor.cs b/src/EFCore/Query/Internal/CallForwardingExpressionVisitor.cs index c66ee8df224..da084c29deb 100644 --- a/src/EFCore/Query/Internal/CallForwardingExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/CallForwardingExpressionVisitor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CallForwardingExpressionVisitor : ExpressionVisitor { private static readonly IReadOnlyDictionary _forwardedMethods = new Dictionary diff --git a/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.cs b/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.cs index 8ecbe421bc9..eb69d2fe142 100644 --- a/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.cs +++ b/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompiledAsyncEnumerableQuery : CompiledQueryBase> where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.tt b/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.tt index 9dd8244ab99..bd6803d107c 100644 --- a/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.tt +++ b/src/EFCore/Query/Internal/CompiledAsyncEnumerableQuery.tt @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.InternalUsage)] public class CompiledAsyncEnumerableQuery : CompiledQueryBase> where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.cs b/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.cs index 2c6436c5ca0..28d1b0a95d8 100644 --- a/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.cs +++ b/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompiledAsyncTaskQuery : CompiledQueryBase> where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.tt b/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.tt index 3302d78e26e..4a0f92208c8 100644 --- a/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.tt +++ b/src/EFCore/Query/Internal/CompiledAsyncTaskQuery.tt @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.InternalUsage)] public class CompiledAsyncTaskQuery : CompiledQueryBase> where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledQuery.cs b/src/EFCore/Query/Internal/CompiledQuery.cs index d8b3d5b91e0..70f3191dee6 100644 --- a/src/EFCore/Query/Internal/CompiledQuery.cs +++ b/src/EFCore/Query/Internal/CompiledQuery.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompiledQuery : CompiledQueryBase where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledQuery.tt b/src/EFCore/Query/Internal/CompiledQuery.tt index 1c0d6960cf9..22a7668c13d 100644 --- a/src/EFCore/Query/Internal/CompiledQuery.tt +++ b/src/EFCore/Query/Internal/CompiledQuery.tt @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.InternalUsage)] public class CompiledQuery : CompiledQueryBase where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledQueryBase.cs b/src/EFCore/Query/Internal/CompiledQueryBase.cs index 7c8ff04777a..79a4a01d573 100644 --- a/src/EFCore/Query/Internal/CompiledQueryBase.cs +++ b/src/EFCore/Query/Internal/CompiledQueryBase.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class CompiledQueryBase where TContext : DbContext { diff --git a/src/EFCore/Query/Internal/CompiledQueryCache.cs b/src/EFCore/Query/Internal/CompiledQueryCache.cs index 6e6110fadf9..cabe8f2422b 100644 --- a/src/EFCore/Query/Internal/CompiledQueryCache.cs +++ b/src/EFCore/Query/Internal/CompiledQueryCache.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompiledQueryCache : ICompiledQueryCache { private static readonly ConcurrentDictionary Locks = new(); diff --git a/src/EFCore/Query/Internal/EntityMaterializerSource.cs b/src/EFCore/Query/Internal/EntityMaterializerSource.cs index a4046b3b6e8..92eace20fb9 100644 --- a/src/EFCore/Query/Internal/EntityMaterializerSource.cs +++ b/src/EFCore/Query/Internal/EntityMaterializerSource.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityMaterializerSource : IEntityMaterializerSource { private static readonly MethodInfo InjectableServiceInjectedMethod diff --git a/src/EFCore/Query/Internal/EntityMaterializerSourceDependencies.cs b/src/EFCore/Query/Internal/EntityMaterializerSourceDependencies.cs index 7ea9054cf60..7c3e0227a56 100644 --- a/src/EFCore/Query/Internal/EntityMaterializerSourceDependencies.cs +++ b/src/EFCore/Query/Internal/EntityMaterializerSourceDependencies.cs @@ -27,6 +27,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// This service cannot depend on services registered as . /// /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public sealed record EntityMaterializerSourceDependencies { /// @@ -43,7 +44,7 @@ public sealed record EntityMaterializerSourceDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public EntityMaterializerSourceDependencies(IEnumerable singletonInterceptors) { SingletonInterceptors = singletonInterceptors; diff --git a/src/EFCore/Query/Internal/EntityQueryProvider.cs b/src/EFCore/Query/Internal/EntityQueryProvider.cs index ee0f2331915..33496ba3157 100644 --- a/src/EFCore/Query/Internal/EntityQueryProvider.cs +++ b/src/EFCore/Query/Internal/EntityQueryProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityQueryProvider : IAsyncQueryProvider { private static MethodInfo? _genericCreateQueryMethod; diff --git a/src/EFCore/Query/Internal/EntityQueryable`.cs b/src/EFCore/Query/Internal/EntityQueryable`.cs index 6ca31939831..e050147e1d6 100644 --- a/src/EFCore/Query/Internal/EntityQueryable`.cs +++ b/src/EFCore/Query/Internal/EntityQueryable`.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class EntityQueryable : IOrderedQueryable, IAsyncEnumerable, diff --git a/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs b/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs index e4a312e4639..fdd78f72cf9 100644 --- a/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs +++ b/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs @@ -20,6 +20,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ExpressionTreeFuncletizer : ExpressionVisitor { // The general algorithm here is the following. @@ -2060,7 +2061,7 @@ public override string ToString() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public sealed record PathNode { /// diff --git a/src/EFCore/Query/Internal/ICompiledQueryCache.cs b/src/EFCore/Query/Internal/ICompiledQueryCache.cs index 96148cc55ed..2b546a82240 100644 --- a/src/EFCore/Query/Internal/ICompiledQueryCache.cs +++ b/src/EFCore/Query/Internal/ICompiledQueryCache.cs @@ -14,6 +14,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// is used by many instances. The implementation must be thread-safe. /// This service cannot depend on services registered as . /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ICompiledQueryCache { /// diff --git a/src/EFCore/Query/Internal/IParameterValues.cs b/src/EFCore/Query/Internal/IParameterValues.cs index 8d52ce91f32..4e3008de0ec 100644 --- a/src/EFCore/Query/Internal/IParameterValues.cs +++ b/src/EFCore/Query/Internal/IParameterValues.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IParameterValues { /// diff --git a/src/EFCore/Query/Internal/IQueryCompiler.cs b/src/EFCore/Query/Internal/IQueryCompiler.cs index 32749f8a345..d80c8d2e9c0 100644 --- a/src/EFCore/Query/Internal/IQueryCompiler.cs +++ b/src/EFCore/Query/Internal/IQueryCompiler.cs @@ -15,6 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// The implementation may depend on other services registered with any lifetime. /// The implementation does not need to be thread-safe. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IQueryCompiler { /// diff --git a/src/EFCore/Query/Internal/InvocationExpressionRemovingExpressionVisitor.cs b/src/EFCore/Query/Internal/InvocationExpressionRemovingExpressionVisitor.cs index 736989c79ed..f024d767f5a 100644 --- a/src/EFCore/Query/Internal/InvocationExpressionRemovingExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/InvocationExpressionRemovingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class InvocationExpressionRemovingExpressionVisitor : ExpressionVisitor { /// diff --git a/src/EFCore/Query/Internal/NavigationExpandingExpressionVisitor.cs b/src/EFCore/Query/Internal/NavigationExpandingExpressionVisitor.cs index 07b5982255b..1c160f768a7 100644 --- a/src/EFCore/Query/Internal/NavigationExpandingExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/NavigationExpandingExpressionVisitor.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public partial class NavigationExpandingExpressionVisitor : ExpressionVisitor { private static readonly PropertyInfo QueryContextContextPropertyInfo diff --git a/src/EFCore/Query/Internal/NullAsyncQueryProvider.cs b/src/EFCore/Query/Internal/NullAsyncQueryProvider.cs index a0bff42d4d6..80e96522819 100644 --- a/src/EFCore/Query/Internal/NullAsyncQueryProvider.cs +++ b/src/EFCore/Query/Internal/NullAsyncQueryProvider.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NullAsyncQueryProvider : IAsyncQueryProvider { /// diff --git a/src/EFCore/Query/Internal/NullCheckRemovingExpressionVisitor.cs b/src/EFCore/Query/Internal/NullCheckRemovingExpressionVisitor.cs index 9be9eccf3cb..6e543006d9b 100644 --- a/src/EFCore/Query/Internal/NullCheckRemovingExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/NullCheckRemovingExpressionVisitor.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class NullCheckRemovingExpressionVisitor : ExpressionVisitor { private readonly NullSafeAccessVerifyingExpressionVisitor _nullSafeAccessVerifyingExpressionVisitor diff --git a/src/EFCore/Query/Internal/QueryCompilationContextFactory.cs b/src/EFCore/Query/Internal/QueryCompilationContextFactory.cs index 72d21b06c26..998e4524412 100644 --- a/src/EFCore/Query/Internal/QueryCompilationContextFactory.cs +++ b/src/EFCore/Query/Internal/QueryCompilationContextFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryCompilationContextFactory : IQueryCompilationContextFactory { /// diff --git a/src/EFCore/Query/Internal/QueryCompiler.cs b/src/EFCore/Query/Internal/QueryCompiler.cs index a0536aff1bb..8b6ce16f383 100644 --- a/src/EFCore/Query/Internal/QueryCompiler.cs +++ b/src/EFCore/Query/Internal/QueryCompiler.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryCompiler : IQueryCompiler { private readonly IQueryContextFactory _queryContextFactory; diff --git a/src/EFCore/Query/Internal/QueryDebugView.cs b/src/EFCore/Query/Internal/QueryDebugView.cs index 27a00841d8f..78d7aea01e7 100644 --- a/src/EFCore/Query/Internal/QueryDebugView.cs +++ b/src/EFCore/Query/Internal/QueryDebugView.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryDebugView { [DebuggerBrowsable(DebuggerBrowsableState.Never)] diff --git a/src/EFCore/Query/Internal/QueryOptimizingExpressionVisitor.cs b/src/EFCore/Query/Internal/QueryOptimizingExpressionVisitor.cs index 8cc22d0c087..ba52da406dc 100644 --- a/src/EFCore/Query/Internal/QueryOptimizingExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/QueryOptimizingExpressionVisitor.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryOptimizingExpressionVisitor : ExpressionVisitor { private static readonly List SingleResultMethodInfos = diff --git a/src/EFCore/Query/Internal/QueryTranslationPostprocessorFactory.cs b/src/EFCore/Query/Internal/QueryTranslationPostprocessorFactory.cs index dda1b804796..329f78e079c 100644 --- a/src/EFCore/Query/Internal/QueryTranslationPostprocessorFactory.cs +++ b/src/EFCore/Query/Internal/QueryTranslationPostprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryTranslationPostprocessorFactory : IQueryTranslationPostprocessorFactory { /// diff --git a/src/EFCore/Query/Internal/QueryTranslationPreprocessorFactory.cs b/src/EFCore/Query/Internal/QueryTranslationPreprocessorFactory.cs index b8f320ce29e..63a3e3a2737 100644 --- a/src/EFCore/Query/Internal/QueryTranslationPreprocessorFactory.cs +++ b/src/EFCore/Query/Internal/QueryTranslationPreprocessorFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryTranslationPreprocessorFactory : IQueryTranslationPreprocessorFactory { /// diff --git a/src/EFCore/Query/Internal/QueryableMethodNormalizingExpressionVisitor.cs b/src/EFCore/Query/Internal/QueryableMethodNormalizingExpressionVisitor.cs index 1f46832d55f..74bf352c77c 100644 --- a/src/EFCore/Query/Internal/QueryableMethodNormalizingExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/QueryableMethodNormalizingExpressionVisitor.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class QueryableMethodNormalizingExpressionVisitor : ExpressionVisitor { private readonly QueryCompilationContext _queryCompilationContext; diff --git a/src/EFCore/Query/Internal/SubqueryMemberPushdownExpressionVisitor.cs b/src/EFCore/Query/Internal/SubqueryMemberPushdownExpressionVisitor.cs index 8287b8e2c74..31c9fa46da1 100644 --- a/src/EFCore/Query/Internal/SubqueryMemberPushdownExpressionVisitor.cs +++ b/src/EFCore/Query/Internal/SubqueryMemberPushdownExpressionVisitor.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class SubqueryMemberPushdownExpressionVisitor : ExpressionVisitor { private static readonly List SupportedMethods = diff --git a/src/EFCore/Query/NavigationExpansionExtensibilityHelperDependencies.cs b/src/EFCore/Query/NavigationExpansionExtensibilityHelperDependencies.cs index c3e03a2d1a7..d12d00301e0 100644 --- a/src/EFCore/Query/NavigationExpansionExtensibilityHelperDependencies.cs +++ b/src/EFCore/Query/NavigationExpansionExtensibilityHelperDependencies.cs @@ -43,7 +43,7 @@ public sealed record NavigationExpansionExtensibilityHelperDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public NavigationExpansionExtensibilityHelperDependencies() { } diff --git a/src/EFCore/Query/QueryCompilationContextDependencies.cs b/src/EFCore/Query/QueryCompilationContextDependencies.cs index 85ad3c009b9..225c6063625 100644 --- a/src/EFCore/Query/QueryCompilationContextDependencies.cs +++ b/src/EFCore/Query/QueryCompilationContextDependencies.cs @@ -46,7 +46,7 @@ public sealed record QueryCompilationContextDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public QueryCompilationContextDependencies( IModel model, IQueryTranslationPreprocessorFactory queryTranslationPreprocessorFactory, diff --git a/src/EFCore/Query/QueryContext.cs b/src/EFCore/Query/QueryContext.cs index 9237d7ff653..87f589fbc27 100644 --- a/src/EFCore/Query/QueryContext.cs +++ b/src/EFCore/Query/QueryContext.cs @@ -123,7 +123,7 @@ public virtual void InitializeStateManager(bool standAlone = false) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual InternalEntityEntry? TryGetEntry( IKey key, object[] keyValues, @@ -138,7 +138,7 @@ public virtual void InitializeStateManager(bool standAlone = false) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public virtual InternalEntityEntry StartTracking( IEntityType entityType, object entity, diff --git a/src/EFCore/Query/QueryContextDependencies.cs b/src/EFCore/Query/QueryContextDependencies.cs index 1978342f43f..413219f395b 100644 --- a/src/EFCore/Query/QueryContextDependencies.cs +++ b/src/EFCore/Query/QueryContextDependencies.cs @@ -47,7 +47,7 @@ public sealed record QueryContextDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public QueryContextDependencies( ICurrentDbContext currentContext, IExecutionStrategy executionStrategy, @@ -75,7 +75,7 @@ public QueryContextDependencies( /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public IStateManager StateManager => CurrentContext.GetDependencies().StateManager; diff --git a/src/EFCore/Query/QueryTranslationPostprocessorDependencies.cs b/src/EFCore/Query/QueryTranslationPostprocessorDependencies.cs index 00c33ae7d28..451b75c9546 100644 --- a/src/EFCore/Query/QueryTranslationPostprocessorDependencies.cs +++ b/src/EFCore/Query/QueryTranslationPostprocessorDependencies.cs @@ -44,7 +44,7 @@ public sealed record QueryTranslationPostprocessorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public QueryTranslationPostprocessorDependencies() { } diff --git a/src/EFCore/Query/QueryTranslationPreprocessorDependencies.cs b/src/EFCore/Query/QueryTranslationPreprocessorDependencies.cs index 53abf26c65f..2b72cdfb31a 100644 --- a/src/EFCore/Query/QueryTranslationPreprocessorDependencies.cs +++ b/src/EFCore/Query/QueryTranslationPreprocessorDependencies.cs @@ -44,7 +44,7 @@ public sealed record QueryTranslationPreprocessorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public QueryTranslationPreprocessorDependencies( ITypeMappingSource typeMappingSource, IEvaluatableExpressionFilter evaluatableExpressionFilter, diff --git a/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitorDependencies.cs b/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitorDependencies.cs index 0b0abbc01c3..10a091c41c6 100644 --- a/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitorDependencies.cs +++ b/src/EFCore/Query/QueryableMethodTranslatingExpressionVisitorDependencies.cs @@ -44,7 +44,7 @@ public sealed record QueryableMethodTranslatingExpressionVisitorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public QueryableMethodTranslatingExpressionVisitorDependencies() { } diff --git a/src/EFCore/Query/ShapedQueryCompilingExpressionVisitorDependencies.cs b/src/EFCore/Query/ShapedQueryCompilingExpressionVisitorDependencies.cs index cc025f1e48d..a8a1879b4ce 100644 --- a/src/EFCore/Query/ShapedQueryCompilingExpressionVisitorDependencies.cs +++ b/src/EFCore/Query/ShapedQueryCompilingExpressionVisitorDependencies.cs @@ -46,7 +46,7 @@ public sealed record ShapedQueryCompilingExpressionVisitorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ShapedQueryCompilingExpressionVisitorDependencies( IEntityMaterializerSource entityMaterializerSource, ITypeMappingSource typeMappingSource, diff --git a/src/EFCore/Storage/DatabaseDependencies.cs b/src/EFCore/Storage/DatabaseDependencies.cs index 0aa6654050e..04ab7db3571 100644 --- a/src/EFCore/Storage/DatabaseDependencies.cs +++ b/src/EFCore/Storage/DatabaseDependencies.cs @@ -44,7 +44,7 @@ public sealed record DatabaseDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DatabaseDependencies( IQueryCompilationContextFactory queryCompilationContextFactory, IUpdateAdapterFactory updateAdapterFactory, diff --git a/src/EFCore/Storage/DatabaseProviderDependencies.cs b/src/EFCore/Storage/DatabaseProviderDependencies.cs index 31a618cfe5c..ff82d5fb75d 100644 --- a/src/EFCore/Storage/DatabaseProviderDependencies.cs +++ b/src/EFCore/Storage/DatabaseProviderDependencies.cs @@ -44,7 +44,7 @@ public sealed record DatabaseProviderDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public DatabaseProviderDependencies() { } diff --git a/src/EFCore/Storage/ExecutionStrategyDependencies.cs b/src/EFCore/Storage/ExecutionStrategyDependencies.cs index 7f8e8633593..66a3b1e6ae0 100644 --- a/src/EFCore/Storage/ExecutionStrategyDependencies.cs +++ b/src/EFCore/Storage/ExecutionStrategyDependencies.cs @@ -44,7 +44,7 @@ public sealed record ExecutionStrategyDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ExecutionStrategyDependencies( ICurrentDbContext currentContext, IDbContextOptions options, diff --git a/src/EFCore/Storage/Internal/DatabaseFacadeDependencies.cs b/src/EFCore/Storage/Internal/DatabaseFacadeDependencies.cs index ba60fc00f26..983b1009a35 100644 --- a/src/EFCore/Storage/Internal/DatabaseFacadeDependencies.cs +++ b/src/EFCore/Storage/Internal/DatabaseFacadeDependencies.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public record DatabaseFacadeDependencies : IDatabaseFacadeDependencies { /// diff --git a/src/EFCore/Storage/Internal/ExceptionDetector.cs b/src/EFCore/Storage/Internal/ExceptionDetector.cs index 4d2eb4d4da9..75e731789f5 100644 --- a/src/EFCore/Storage/Internal/ExceptionDetector.cs +++ b/src/EFCore/Storage/Internal/ExceptionDetector.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ExceptionDetector : IExceptionDetector { /// diff --git a/src/EFCore/Storage/Internal/ExecutionStrategyFactory.cs b/src/EFCore/Storage/Internal/ExecutionStrategyFactory.cs index cd9bbf77137..1ba10d3c80c 100644 --- a/src/EFCore/Storage/Internal/ExecutionStrategyFactory.cs +++ b/src/EFCore/Storage/Internal/ExecutionStrategyFactory.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ExecutionStrategyFactory : IExecutionStrategyFactory { private readonly NonRetryingExecutionStrategy _instance; diff --git a/src/EFCore/Storage/Internal/ICompositeJsonValueReaderWriter.cs b/src/EFCore/Storage/Internal/ICompositeJsonValueReaderWriter.cs index 211550786bf..24b2903bfcd 100644 --- a/src/EFCore/Storage/Internal/ICompositeJsonValueReaderWriter.cs +++ b/src/EFCore/Storage/Internal/ICompositeJsonValueReaderWriter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface ICompositeJsonValueReaderWriter { /// diff --git a/src/EFCore/Storage/Internal/IJsonConvertedValueReaderWriter.cs b/src/EFCore/Storage/Internal/IJsonConvertedValueReaderWriter.cs index 595cd5726fe..b64cce1544c 100644 --- a/src/EFCore/Storage/Internal/IJsonConvertedValueReaderWriter.cs +++ b/src/EFCore/Storage/Internal/IJsonConvertedValueReaderWriter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public interface IJsonConvertedValueReaderWriter : ICompositeJsonValueReaderWriter { /// diff --git a/src/EFCore/Storage/Json/JsonValueReaderWriterSourceDependencies.cs b/src/EFCore/Storage/Json/JsonValueReaderWriterSourceDependencies.cs index 2d349d0c5ee..470851450a8 100644 --- a/src/EFCore/Storage/Json/JsonValueReaderWriterSourceDependencies.cs +++ b/src/EFCore/Storage/Json/JsonValueReaderWriterSourceDependencies.cs @@ -44,7 +44,7 @@ public sealed record JsonValueReaderWriterSourceDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public JsonValueReaderWriterSourceDependencies() { } diff --git a/src/EFCore/Storage/TypeMappingSource.cs b/src/EFCore/Storage/TypeMappingSource.cs index 7e78f237e0b..8806b23ce11 100644 --- a/src/EFCore/Storage/TypeMappingSource.cs +++ b/src/EFCore/Storage/TypeMappingSource.cs @@ -176,7 +176,7 @@ protected TypeMappingSource(TypeMappingSourceDependencies dependencies) /// The provider type. /// The element mapping, if known. /// The type mapping, or if none was found. - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected virtual CoreTypeMapping? FindCollectionMapping( TypeMappingInfo info, Type modelType, diff --git a/src/EFCore/Storage/TypeMappingSourceDependencies.cs b/src/EFCore/Storage/TypeMappingSourceDependencies.cs index 48b287ad437..6437388b582 100644 --- a/src/EFCore/Storage/TypeMappingSourceDependencies.cs +++ b/src/EFCore/Storage/TypeMappingSourceDependencies.cs @@ -46,7 +46,7 @@ public sealed record TypeMappingSourceDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public TypeMappingSourceDependencies( IValueConverterSelector valueConverterSelector, IJsonValueReaderWriterSource jsonValueReaderWriterSource, diff --git a/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBinaryConverter.cs b/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBinaryConverter.cs index c0b08b634e7..5ff4dca2a80 100644 --- a/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBinaryConverter.cs +++ b/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBinaryConverter.cs @@ -47,7 +47,7 @@ public DateTimeOffsetToBinaryConverter(ConverterMappingHints? mappingHints) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static DateTimeOffset ToDateTimeOffset(long v) => new( new DateTime((v >> 11) * 1000), @@ -59,7 +59,7 @@ public static DateTimeOffset ToDateTimeOffset(long v) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static long ToLong(DateTimeOffset v) => ((v.Ticks / 1000) << 11) | ((long)v.Offset.TotalMinutes & 0x7FF); diff --git a/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBytesConverter.cs b/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBytesConverter.cs index 14519fc0d63..1dc0d225e4c 100644 --- a/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBytesConverter.cs +++ b/src/EFCore/Storage/ValueConversion/DateTimeOffsetToBytesConverter.cs @@ -56,7 +56,7 @@ public DateTimeOffsetToBytesConverter(ConverterMappingHints? mappingHints) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static byte[] ToBytes(DateTimeOffset value) { var timeBytes = (byte[])LongToBytes.ConvertToProvider(value.DateTime.ToBinary())!; @@ -70,7 +70,7 @@ public static byte[] ToBytes(DateTimeOffset value) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static DateTimeOffset FromBytes(byte[] bytes) { var timeBinary = (long)LongToBytes.ConvertFromProvider(bytes)!; diff --git a/src/EFCore/Storage/ValueConversion/DefaultValueConverterRegistryDependencies.cs b/src/EFCore/Storage/ValueConversion/DefaultValueConverterRegistryDependencies.cs index f6869c472aa..1e341c72352 100644 --- a/src/EFCore/Storage/ValueConversion/DefaultValueConverterRegistryDependencies.cs +++ b/src/EFCore/Storage/ValueConversion/DefaultValueConverterRegistryDependencies.cs @@ -49,7 +49,7 @@ public sealed record ValueConverterSelectorDependencies /// doing so can result in application failures when updating to a new Entity Framework Core release. /// /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ValueConverterSelectorDependencies() { } diff --git a/src/EFCore/Storage/ValueConversion/Internal/CompositeValueConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/CompositeValueConverter.cs index 0f8f8b60df2..d05b222b52e 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/CompositeValueConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/CompositeValueConverter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class CompositeValueConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringCharConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringCharConverter.cs index e937badb7e4..ae8f80c92be 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringCharConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringCharConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringCharConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringDateOnlyConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringDateOnlyConverter.cs index afe24f9e636..52314aeed22 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringDateOnlyConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringDateOnlyConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringDateOnlyConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeConverter.cs index 0c1e828a40d..534a521befc 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringDateTimeConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeOffsetConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeOffsetConverter.cs index 586d712f202..5ebd3a024d7 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeOffsetConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringDateTimeOffsetConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringDateTimeOffsetConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringEnumConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringEnumConverter.cs index 2b7271cb107..1ba316417e0 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringEnumConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringEnumConverter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringEnumConverter : ValueConverter where TEnum : struct, Enum { diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringGuidConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringGuidConverter.cs index a6e2fe71f17..9d214dd6ae6 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringGuidConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringGuidConverter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringGuidConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringNumberConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringNumberConverter.cs index 9502dae9666..44d7fe59f96 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringNumberConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringNumberConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringNumberConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringTimeOnlyConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringTimeOnlyConverter.cs index 76c07558ee3..387bea51a5b 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringTimeOnlyConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringTimeOnlyConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringTimeOnlyConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringTimeSpanConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringTimeSpanConverter.cs index 730a7143714..f18be74cc23 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringTimeSpanConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringTimeSpanConverter.cs @@ -11,6 +11,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringTimeSpanConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/Internal/StringUriConverter.cs b/src/EFCore/Storage/ValueConversion/Internal/StringUriConverter.cs index 450123ba8a4..4aaa3a9b304 100644 --- a/src/EFCore/Storage/ValueConversion/Internal/StringUriConverter.cs +++ b/src/EFCore/Storage/ValueConversion/Internal/StringUriConverter.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class StringUriConverter : ValueConverter { /// diff --git a/src/EFCore/Storage/ValueConversion/NumberToBytesConverter.cs b/src/EFCore/Storage/ValueConversion/NumberToBytesConverter.cs index cf4c0a1fc7c..d016f0cc93f 100644 --- a/src/EFCore/Storage/ValueConversion/NumberToBytesConverter.cs +++ b/src/EFCore/Storage/ValueConversion/NumberToBytesConverter.cs @@ -68,7 +68,7 @@ public NumberToBytesConverter(ConverterMappingHints? mappingHints) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static Expression> ToBytes() { var type = typeof(TNumber).UnwrapNullableType(); @@ -122,7 +122,7 @@ public static Expression> ToBytes() /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static Expression> ToNumber() { var type = typeof(TNumber).UnwrapNullableType(); @@ -210,7 +210,7 @@ private static readonly MethodInfo ReverseShortMethod /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static byte[] ReverseLong(byte[] bytes) => [bytes[7], bytes[6], bytes[5], bytes[4], bytes[3], bytes[2], bytes[1], bytes[0]]; @@ -220,7 +220,7 @@ public static byte[] ReverseLong(byte[] bytes) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static byte[] ReverseInt(byte[] bytes) => [bytes[3], bytes[2], bytes[1], bytes[0]]; @@ -230,7 +230,7 @@ public static byte[] ReverseInt(byte[] bytes) /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static byte[] ReverseShort(byte[] bytes) => [bytes[1], bytes[0]]; @@ -271,7 +271,7 @@ private static readonly MethodInfo ToBytesMethod /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static byte[] DecimalToBytes(decimal value) { var bits = decimal.GetBits(value); @@ -296,7 +296,7 @@ private static readonly MethodInfo ToDecimalMethod /// 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. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public static decimal BytesToDecimal(byte[] bytes) { Span gotBytes = BitConverter.IsLittleEndian ? stackalloc byte[16] : bytes; diff --git a/src/EFCore/Storage/ValueConversion/ValueConverter.cs b/src/EFCore/Storage/ValueConversion/ValueConverter.cs index b7c0a00b058..b26249041d6 100644 --- a/src/EFCore/Storage/ValueConversion/ValueConverter.cs +++ b/src/EFCore/Storage/ValueConversion/ValueConverter.cs @@ -75,7 +75,7 @@ protected ValueConverter( /// Hints that can be used by the to create data types with appropriate /// facets for the converted data. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] protected ValueConverter( LambdaExpression convertToProviderExpression, LambdaExpression convertFromProviderExpression, diff --git a/src/EFCore/Storage/ValueConversion/ValueConverter`.cs b/src/EFCore/Storage/ValueConversion/ValueConverter`.cs index 0bf8907b7e2..34cecf9264c 100644 --- a/src/EFCore/Storage/ValueConversion/ValueConverter`.cs +++ b/src/EFCore/Storage/ValueConversion/ValueConverter`.cs @@ -63,7 +63,7 @@ public ValueConverter( /// Hints that can be used by the to create data types with appropriate /// facets for the converted data. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ValueConverter( Expression> convertToProviderExpression, Expression> convertFromProviderExpression, diff --git a/src/EFCore/Update/Internal/UpdateAdapter.cs b/src/EFCore/Update/Internal/UpdateAdapter.cs index f9271ba69ec..8312b4a9acf 100644 --- a/src/EFCore/Update/Internal/UpdateAdapter.cs +++ b/src/EFCore/Update/Internal/UpdateAdapter.cs @@ -13,6 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class UpdateAdapter : IUpdateAdapter { private readonly IStateManager _stateManager; diff --git a/src/EFCore/Update/Internal/UpdateAdapterFactory.cs b/src/EFCore/Update/Internal/UpdateAdapterFactory.cs index b166e8579f3..c88443de746 100644 --- a/src/EFCore/Update/Internal/UpdateAdapterFactory.cs +++ b/src/EFCore/Update/Internal/UpdateAdapterFactory.cs @@ -12,6 +12,7 @@ namespace Microsoft.EntityFrameworkCore.Update.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class UpdateAdapterFactory : IUpdateAdapterFactory { private readonly ICurrentDbContext _currentContext; diff --git a/src/EFCore/ValueGeneration/Internal/ConvertedValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/ConvertedValueGenerator.cs index f322be96e97..8db51c5d74d 100644 --- a/src/EFCore/ValueGeneration/Internal/ConvertedValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/ConvertedValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class ConvertedValueGenerator : ValueGenerator { private readonly ValueGenerator _providerGenerator; diff --git a/src/EFCore/ValueGeneration/Internal/DiscriminatorValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/DiscriminatorValueGenerator.cs index 547256c536f..c410862408e 100644 --- a/src/EFCore/ValueGeneration/Internal/DiscriminatorValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/DiscriminatorValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class DiscriminatorValueGenerator : ValueGenerator { /// diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryByteValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryByteValueGenerator.cs index 4c703be902d..eddd3bf3fea 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryByteValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryByteValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryByteValueGenerator : TemporaryNumberValueGenerator { private int _current; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryCharValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryCharValueGenerator.cs index 32b9dd59a5c..7f6cd4a948c 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryCharValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryCharValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryCharValueGenerator : TemporaryNumberValueGenerator { private int _current = char.MaxValue - 100; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryDecimalValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryDecimalValueGenerator.cs index ed85ad28c18..226041ae104 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryDecimalValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryDecimalValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryDecimalValueGenerator : TemporaryNumberValueGenerator { private int _current = int.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryDoubleValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryDoubleValueGenerator.cs index a0e0a3b90ac..beaeb0361df 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryDoubleValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryDoubleValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryDoubleValueGenerator : TemporaryNumberValueGenerator { private int _current = int.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryFloatValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryFloatValueGenerator.cs index 00fe1059b93..552b63336fe 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryFloatValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryFloatValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryFloatValueGenerator : TemporaryNumberValueGenerator { private int _current = int.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryIntValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryIntValueGenerator.cs index afa8b7f44a0..1e85afd19b3 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryIntValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryIntValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryIntValueGenerator : TemporaryNumberValueGenerator { private int _current = int.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryLongValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryLongValueGenerator.cs index 742d33ed200..93638cb80d1 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryLongValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryLongValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryLongValueGenerator : TemporaryNumberValueGenerator { private long _current = long.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryNumberValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryNumberValueGenerator.cs index 08e37b13f6d..d149326c399 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryNumberValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryNumberValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public abstract class TemporaryNumberValueGenerator : ValueGenerator { /// diff --git a/src/EFCore/ValueGeneration/Internal/TemporarySByteValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporarySByteValueGenerator.cs index 81c76500768..1622175a587 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporarySByteValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporarySByteValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporarySByteValueGenerator : TemporaryNumberValueGenerator { private int _current = sbyte.MinValue; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryShortValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryShortValueGenerator.cs index 21afec51bdc..7b125dc3650 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryShortValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryShortValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryShortValueGenerator : TemporaryNumberValueGenerator { private int _current = short.MinValue + 100; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryUIntValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryUIntValueGenerator.cs index e8a5da50993..f74466a13f1 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryUIntValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryUIntValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryUIntValueGenerator : TemporaryNumberValueGenerator { private int _current = int.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryULongValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryULongValueGenerator.cs index 4e2362f0613..7f1eca90767 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryULongValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryULongValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryULongValueGenerator : TemporaryNumberValueGenerator { private long _current = long.MinValue + 1000; diff --git a/src/EFCore/ValueGeneration/Internal/TemporaryUShortValueGenerator.cs b/src/EFCore/ValueGeneration/Internal/TemporaryUShortValueGenerator.cs index f0e00fc7890..76eefaa1d10 100644 --- a/src/EFCore/ValueGeneration/Internal/TemporaryUShortValueGenerator.cs +++ b/src/EFCore/ValueGeneration/Internal/TemporaryUShortValueGenerator.cs @@ -9,6 +9,7 @@ namespace Microsoft.EntityFrameworkCore.ValueGeneration.Internal; /// 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. /// +[Experimental(EFDiagnostics.CoreInternalUsage)] public class TemporaryUShortValueGenerator : TemporaryNumberValueGenerator { private int _current = short.MinValue + 100; diff --git a/src/EFCore/ValueGeneration/ValueGeneratorCacheDependencies.cs b/src/EFCore/ValueGeneration/ValueGeneratorCacheDependencies.cs index cffa3d29786..a179fee0f69 100644 --- a/src/EFCore/ValueGeneration/ValueGeneratorCacheDependencies.cs +++ b/src/EFCore/ValueGeneration/ValueGeneratorCacheDependencies.cs @@ -44,7 +44,7 @@ public sealed record ValueGeneratorCacheDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ValueGeneratorCacheDependencies() { } diff --git a/src/EFCore/ValueGeneration/ValueGeneratorSelectorDependencies.cs b/src/EFCore/ValueGeneration/ValueGeneratorSelectorDependencies.cs index f7a0132b518..e898fe0b816 100644 --- a/src/EFCore/ValueGeneration/ValueGeneratorSelectorDependencies.cs +++ b/src/EFCore/ValueGeneration/ValueGeneratorSelectorDependencies.cs @@ -44,7 +44,7 @@ public sealed record ValueGeneratorSelectorDependencies /// injection container, then replace selected services using the C# 'with' operator. Do not call /// the constructor at any point in this process. /// - [EntityFrameworkInternal] + [Experimental(EFDiagnostics.CoreInternalUsage)] public ValueGeneratorSelectorDependencies(IValueGeneratorCache cache) { Cache = cache; diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 68b58c1da11..0d97efb573b 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -2,6 +2,7 @@ + $(NoWarn);EF9901;EF9902;EF9903;EF9904;EF9999 $(NoWarn);CA1707;1591;xUnit1000;xUnit1003;xUnit1004;xUnit1010;xUnit1013;xUnit1026;xUnit2013;xUnit1024 $(MSBuildThisFileDirectory)..\rulesets\EFCore.test.ruleset preview diff --git a/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs b/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs deleted file mode 100644 index 9c7541a918e..00000000000 --- a/test/EFCore.Analyzers.Tests/InternalUsageDiagnosticAnalyzerTests.cs +++ /dev/null @@ -1,232 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Microsoft.CodeAnalysis; - -namespace Microsoft.EntityFrameworkCore; - -using VerifyCS = CSharpAnalyzerVerifier; - -public class InternalUsageDiagnosticAnalyzerTests -{ - [ConditionalFact] - public Task Invocation_on_type_in_internal_namespace() - => VerifySingleInternalUsageAsync( - """ -using System; -using Microsoft.EntityFrameworkCore.Internal; - -class C -{ - void M() - { - var x = typeof(object).GetMethod(nameof(object.ToString), Type.EmptyTypes).{|#0:DisplayName|}(); - } -} -""", "Microsoft.EntityFrameworkCore.Internal.MethodInfoExtensions"); - - [ConditionalFact] - public Task Instantiation_on_type_in_internal_namespace() - => VerifySingleInternalUsageAsync( - """ -class C -{ - void M() - { - new {|#0:Microsoft.EntityFrameworkCore.Infrastructure.Internal.CoreSingletonOptions|}(); - } -} -""", "Microsoft.EntityFrameworkCore.Infrastructure.Internal.CoreSingletonOptions"); - - [ConditionalFact] - public async Task Base_type() - { - var source = """ -class MyClass : {|#0:Microsoft.EntityFrameworkCore.Storage.Internal.RawRelationalParameter|} -{ - MyClass() {|#1:: base(null, null)|} {} -} -"""; - - await VerifyCS.VerifyAnalyzerAsync( - source, - VerifyCS.Diagnostic(InternalUsageDiagnosticAnalyzer.Id) - .WithLocation(0) - .WithSeverity(DiagnosticSeverity.Warning) - .WithMessageFormat(AnalyzerStrings.InternalUsageMessageFormat) - .WithArguments("Microsoft.EntityFrameworkCore.Storage.Internal.RawRelationalParameter"), - VerifyCS.Diagnostic(InternalUsageDiagnosticAnalyzer.Id) - .WithLocation(1) - .WithSeverity(DiagnosticSeverity.Warning) - .WithMessageFormat(AnalyzerStrings.InternalUsageMessageFormat) - .WithArguments("Microsoft.EntityFrameworkCore.Storage.Internal.RawRelationalParameter")); - } - - [ConditionalFact] - public Task Implemented_interface() - => VerifySingleInternalUsageAsync( - """ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Internal; - -class {|#0:MyClass|} : IDbSetSource -{ - public object Create(DbContext context, Type type) => null; - public object Create(DbContext context, string name, Type type) => null; -} -""", "Microsoft.EntityFrameworkCore.Internal.IDbSetSource"); - - [ConditionalFact] - public Task Access_property_with_internal_attribute() - => VerifySingleInternalUsageAsync( - """ -class C -{ - void M() - { - var x = Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkRelationalServicesBuilder.{|#0:RelationalServices|}.Count; - } -} -""", "Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkRelationalServicesBuilder.RelationalServices"); - - [ConditionalFact] - public Task Instantiation_with_ctor_with_internal_attribute() - => VerifySingleInternalUsageAsync( - """ -class C -{ - void M() - { - new {|#0:Microsoft.EntityFrameworkCore.Update.UpdateSqlGeneratorDependencies|}(null, null); - } -} -""", "Microsoft.EntityFrameworkCore.Update.UpdateSqlGeneratorDependencies"); - - [ConditionalFact] - public Task Local_variable_declaration() - => VerifySingleInternalUsageAsync( - """ -class C -{ - void M() - { - {|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager|} state = null; - } -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task Generic_type_parameter_in_method_call() - => VerifySingleInternalUsageAsync( - """ -class C -{ - void M() - { - void SomeGenericMethod() {} - - {|#0:SomeGenericMethod()|}; - } -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task Typeof() - => VerifySingleInternalUsageAsync( - """ -class C -{ - void M() - { - var t = typeof({|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager|}); - } -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task Field_declaration() - => VerifySingleInternalUsageAsync( - """ -class MyClass -{ - private readonly {|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager|} _stateManager; -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task Property_declaration() - => VerifySingleInternalUsageAsync( - """ -class MyClass -{ - private {|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager|} StateManager { get; set; } -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task Method_declaration_return_type() - => VerifySingleInternalUsageAsync( - """ -class MyClass -{ - private {|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager|} Foo() => null; -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task Method_declaration_parameter() - => VerifySingleInternalUsageAsync( - """ -class MyClass -{ - private void Foo({|#0:Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager|} stateManager) {} -} -""", "Microsoft.EntityFrameworkCore.ChangeTracking.Internal.IStateManager"); - - [ConditionalFact] - public Task No_warning_on_non_internal() - => VerifyCS.VerifyAnalyzerAsync( - """ -class C -{ - void M() - { - var a = new Microsoft.EntityFrameworkCore.Infrastructure.Annotatable(); - var x = a.GetAnnotations(); - } -} -"""); - - [ConditionalFact] - public Task No_warning_in_same_assembly() - => VerifyCS.VerifyAnalyzerAsync( - """ -namespace My.EntityFrameworkCore.Internal -{ - class MyClass - { - static internal void Foo() {} - } -} - -namespace Bar -{ - class Program - { - public void Main(string[] args) { - My.EntityFrameworkCore.Internal.MyClass.Foo(); - } - } -} -"""); - - private Task VerifySingleInternalUsageAsync(string source, string internalApi) - => VerifyCS.VerifyAnalyzerAsync( - source, - VerifyCS.Diagnostic(InternalUsageDiagnosticAnalyzer.Id) - .WithLocation(0) - .WithSeverity(DiagnosticSeverity.Warning) - .WithMessageFormat(AnalyzerStrings.InternalUsageMessageFormat) - .WithArguments(internalApi)); -} diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DataEntityType.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DataEntityType.cs index e14aeb8b9a1..ad81e3faff9 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DataEntityType.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DataEntityType.cs @@ -18,7 +18,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Newtonsoft.Json.Linq; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextAssemblyAttributes.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModel.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModel.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModelBuilder.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModelBuilder.cs index 0d1297163e2..08b74e91a6c 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModelBuilder.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/Basic_cosmos_model/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs index fe8ac32a210..0a907a3227b 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs index 8fd11065bd8..be53a08a800 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.ValueGeneration; using Newtonsoft.Json.Linq; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs index 3108fc592c0..31641f0ba27 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs @@ -553,8 +553,8 @@ public void Migrations_compile() { Name = "C2", Table = "T1", - ClrType = typeof(Database), - OldColumn = new AddColumnOperation { ClrType = typeof(Property) } + ClrType = typeof(string), + OldColumn = new AddColumnOperation { ClrType = typeof(int) } }, new AddColumnOperation { @@ -574,9 +574,7 @@ public void Migrations_compile() """ using System.Text.RegularExpressions; using Microsoft.EntityFrameworkCore.ChangeTracking; -using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage; #nullable disable @@ -591,11 +589,11 @@ protected override void Up(MigrationBuilder migrationBuilder) migrationBuilder.Sql("-- TEST") .Annotation("Some:EnumValue", RegexOptions.Multiline); - migrationBuilder.AlterColumn( + migrationBuilder.AlterColumn( name: "C2", table: "T1", nullable: false, - oldClrType: typeof(Property)); + oldClrType: typeof(int)); migrationBuilder.AddColumn( name: "C3", diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs index 2a1d5e70cf9..60d1b2d6fc3 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs index a24b8a3e5ed..46f18da60e3 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs index d1a42d3dd2e..1fbb44ee572 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs @@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModelBuilder.cs index 3fc1934f912..b2632e62aef 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/MyEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/MyEntityEntityType.cs index 230096aaa35..af1a393b3bd 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/MyEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_provider_value_comparer/MyEntityEntityType.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModelBuilder.cs index 3fc1934f912..b2632e62aef 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/MyEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/MyEntityEntityType.cs index edc1a6aaffb..56164f4d9e5 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/MyEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_type_mapping/MyEntityEntityType.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModelBuilder.cs index 3fc1934f912..b2632e62aef 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/MyEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/MyEntityEntityType.cs index dc37dda0e68..b7dfe228ed7 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/MyEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_comparer/MyEntityEntityType.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModelBuilder.cs index 3fc1934f912..b2632e62aef 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/MyEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/MyEntityEntityType.cs index 5044d1c341e..61755e4c4b0 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/MyEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Custom_value_converter/MyEntityEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModelBuilder.cs index b71fef90c3a..f4b5caf26dd 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Empty_model/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextAssemblyAttributes.cs index 3879ce8f4f5..0b71f693d32 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModel.cs index 34a23755d59..5eda921e771 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace Scaffolding diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModelBuilder.cs index 60d0d1abf6d..a3ca1dc7855 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace Scaffolding diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUser0EntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUser0EntityType.cs index 37a51842c50..ff7ec98b6d4 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUser0EntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUser0EntityType.cs @@ -8,7 +8,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace Scaffolding diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUserEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUserEntityType.cs index 779dbbb2c9d..1cc401dfe2e 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUserEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IdentityUserEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.TestModels.AspNetIdentity; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace Scaffolding diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IndexEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IndexEntityType.cs index df2b63fae7e..ff72c7c25b2 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IndexEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/IndexEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace Scaffolding diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/ScaffoldingEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/ScaffoldingEntityType.cs index b17627c98b8..3d53cddc478 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/ScaffoldingEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Fully_qualified_model/ScaffoldingEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace Scaffolding diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/EntityType1.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/EntityType1.cs index 027310f4ca2..f7c90e62b70 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/EntityType1.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/EntityType1.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable internal partial class EntityType1 diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextAssemblyAttributes.cs index 5a2d96f9853..e063c314066 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextAssemblyAttributes.cs @@ -1,7 +1,7 @@ // using Microsoft.EntityFrameworkCore.Infrastructure; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(GlobalNamespaceContext), typeof(GlobalNamespaceContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModel.cs index 3ee4b23c6b7..febd8f2f218 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModel.cs @@ -2,7 +2,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [DbContext(typeof(GlobalNamespaceContext))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModelBuilder.cs index a76338d6320..632ea4081b6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Global_namespace/GlobalNamespaceContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable public partial class GlobalNamespaceContextModel diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModelBuilder.cs index fec698dd396..856eba26b7a 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity1EntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity1EntityType.cs index 256e0a742bd..520f0e8b452 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity1EntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity1EntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity2EntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity2EntityType.cs index d40e4730922..36c25cec23b 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity2EntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Lazy_loading_proxies/LazyProxiesEntity2EntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModelBuilder.cs index 33661a2a0ab..e6353e719a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyConstructorEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyConstructorEntityEntityType.cs index 0768e51d497..4882af76d3a 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyConstructorEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyConstructorEntityEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyDelegateEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyDelegateEntityEntityType.cs index 879bbf0c0ed..ede85f36a3c 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyDelegateEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyDelegateEntityEntityType.cs @@ -14,7 +14,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyEntityEntityType.cs index 08bca9f192d..dfb7c2f2dd9 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Manual_lazy_loading/LazyPropertyEntityEntityType.cs @@ -14,7 +14,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModelBuilder.cs index 595c150797c..e95435c660c 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DependentBaseEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DependentBaseEntityType.cs index 3b8a6a4d0c3..d5838ed75e1 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DependentBaseEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/DependentBaseEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalBaseEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalBaseEntityType.cs index 938f094c7a0..b29640a927e 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalBaseEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalBaseEntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalDerivedEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalDerivedEntityType.cs index acf764465d4..4e3bed0cb09 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalDerivedEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/RelationshipCycles/PrincipalDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModelBuilder.cs index d36b648e532..a03a6144c0d 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/SelfReferentialEntityEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/SelfReferentialEntityEntityType.cs index cd2d9d6ee9c..8e779fe8905 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/SelfReferentialEntityEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/Self_referential_property/SelfReferentialEntityEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs index 06de703bd42..2dc0dcba2f7 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs index 7987d1483b2..82bfd6fbfc2 100644 --- a/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs +++ b/test/EFCore.InMemory.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.Json; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs b/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs index 5113a87a6e3..f81047e8e24 100644 --- a/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs +++ b/test/EFCore.Specification.Tests/ApiConsistencyTestBase.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.CodeDom.Compiler; +using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; // ReSharper disable InconsistentNaming @@ -9,14 +10,9 @@ namespace Microsoft.EntityFrameworkCore; #nullable disable -public abstract class ApiConsistencyTestBase : IClassFixture +public abstract class ApiConsistencyTestBase(TFixture fixture) : IClassFixture where TFixture : ApiConsistencyTestBase.ApiConsistencyFixtureBase, new() { - protected ApiConsistencyTestBase(TFixture fixture) - { - Fixture = fixture; - } - protected const BindingFlags PublicInstance = BindingFlags.Instance | BindingFlags.Public; @@ -34,7 +30,7 @@ protected static bool IsCompilerSynthesizedMethod(MethodBase method) && firstParam.Name == "original" && firstParam.ParameterType == method.DeclaringType; - protected virtual TFixture Fixture { get; } + protected virtual TFixture Fixture { get; } = fixture; [ConditionalFact] public void Fluent_api_methods_should_not_return_void() @@ -1153,6 +1149,24 @@ where parameter.ParameterType.UnwrapNullableType() == typeof(bool) "\r\n-- Prefixed bool parameters --\r\n" + string.Join(Environment.NewLine, parameters)); } + [ConditionalFact] + public virtual void Public_types_in_internal_namespace_should_have_experimental_attribute() + { + var types = TargetAssembly.GetExportedTypes() + .Where( + type => type.Namespace.EndsWith(".Internal", StringComparison.Ordinal) + && type.IsVisible + && !type.IsNested + && !type.GetCustomAttributes().Any() + && !type.GetCustomAttributes().Any()) + .Select(type => type.FullName) + .ToList(); + + Assert.False( + types.Count > 0, + "\r\n-- Missing ExperimentalAttribute --\r\n" + string.Join(Environment.NewLine, types)); + } + protected abstract Assembly TargetAssembly { get; } protected virtual IEnumerable GetAllTypes(IEnumerable types) diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs index 3f577144b7b..2e3bb7ea8c5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs @@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Migrations; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs index 11c27ed7864..6e1f7257001 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs index c8b2ff10716..959d50127c1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs index ee30773de2f..6799fc74f90 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs @@ -20,7 +20,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs index ee817ffb63f..1892fbe580a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs index cc2f46ff1ea..911344bfbb6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs index bbb65501d3c..b43ffbdeefb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs index 9d83771ded9..78413700f26 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs index c451995696f..82ab2c0e0a8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs index 69e28ca1676..a3eba1b34f8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs @@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Migrations; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs index 11c27ed7864..6e1f7257001 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs index c8b2ff10716..959d50127c1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs index ee30773de2f..6799fc74f90 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs @@ -20,7 +20,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs index d56818d9c40..13dc9221022 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs index 678217daf74..0fac2ae69cc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs index d311943404d..741d9f37d8e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs index 9d83771ded9..78413700f26 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs index 8735fc70d54..316c0dbf4d8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs index dd064cb4aed..dc2732bdfb7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs index b62372a6a98..f98025e1337 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs index 4b9bd6c497b..1fae65f9e57 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/DbContextModelBuilder.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs index 4587406eb36..b4ef2dc05b7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalBaseEntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs index a57c0acbbfa..b39f065413a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/ComplexTypes/PrincipalDerivedEntityType.cs @@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs index 188db7938f6..5667daf026f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(CompiledModelRelationalTestBase.FunctionParameterTypeMappingContext), typeof(FunctionParameterTypeMappingContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs index 3cd9c09d101..dbd655dd774 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs index 47969a88022..a1522d92ab4 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs index 7ab16249c50..238947ef982 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(CompiledModelRelationalTestBase.FunctionTypeMappingContext), typeof(FunctionTypeMappingContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs index ead6c2fb06f..e27bcfc53b0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs index b3068bed402..fcfa8002ae3 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs index cb58cf66a54..b9e07a30439 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs index a248efefdc0..4723e5905df 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(CompiledModelRelationalTestBase.DbFunctionContext), typeof(DbFunctionContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs index 8d6f346c04a..306d9d6395d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs index b5f009363bc..fd8cc8d190e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs index dcdc1169e43..4f0b5a93795 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs index dd064cb4aed..dc2732bdfb7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs index b62372a6a98..f98025e1337 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DataEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DataEntityType.cs index 36483009f30..1327f387044 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DataEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModelBuilder.cs index 5868594d3fc..658665866cf 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_HiLo_sequence/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DataEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DataEntityType.cs index 5f2c3d2d50a..64803419734 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DataEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModelBuilder.cs index d160a8d902e..dd803740d6a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Key_sequence/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModelBuilder.cs index 4fe4a761b27..5cc3a1b72e5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Sequences/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs index 9240e93c28a..2d1f006c5e0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs index a6e4720161a..8b88c46f01d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModelBuilder.cs index 75dfe7431fc..60f1f6114ba 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/SpatialTypesEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/SpatialTypesEntityType.cs index 607ee75c144..311ddf2a658 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/SpatialTypesEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/SpatialTypesTest/SpatialTypesEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModelBuilder.cs index 5cec13e76e6..451081f818f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DbContextModelBuilder.cs @@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Migrations; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DependentBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DependentBaseEntityType.cs index f392113e4c2..91fe13d6e6d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DependentBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/DependentBaseEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalBaseEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalBaseEntityType.cs index 5a9bef3533c..7286b9c20d9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalBaseEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalBaseEntityType.cs @@ -14,7 +14,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalDerivedEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalDerivedEntityType.cs index eb02f91204d..89bc7a3717c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalDerivedEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Tpc_Sprocs/PrincipalDerivedEntityType.cs @@ -10,7 +10,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs index 96f843218f8..a9fd71298c4 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs index dcfa1f02bef..336a5f5bce7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DataEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DataEntityType.cs index f3997cd08a5..0f38aa353ef 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DataEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DataEntityType.cs @@ -14,7 +14,7 @@ using Microsoft.EntityFrameworkCore.Storage; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs index 2d7686d97f1..6b6c6e0fcb6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DbContextModelBuilder.cs @@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Migrations; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs index 0f6385004bd..483597179a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentBaseEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs index c471955bce5..75d3483097e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/DependentDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs index 113d9701fac..ca7b5afd757 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs @@ -21,7 +21,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs index 8d9b4e46640..f019602d5b6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedType0EntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs index 3f86c5cabec..4d60d38670a 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/OwnedTypeEntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs index ed2affff57d..db1083f7edb 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBaseEntityType.cs @@ -17,7 +17,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs index f637dfc110d..0577a8444c8 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs index 7bb4d133990..f78154fb714 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel/PrincipalDerivedEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DataEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DataEntityType.cs index f3997cd08a5..0f38aa353ef 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DataEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DataEntityType.cs @@ -14,7 +14,7 @@ using Microsoft.EntityFrameworkCore.Storage; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs index 9d07d38c0c3..0fb800fe1a4 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DbContextModelBuilder.cs @@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.Migrations; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs index 0f6385004bd..483597179a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentBaseEntityType.cs @@ -15,7 +15,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.ValueGeneration; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs index c471955bce5..75d3483097e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/DependentDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs index 113d9701fac..ca7b5afd757 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/ManyTypesEntityType.cs @@ -21,7 +21,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs index a907cb3a6d0..9a55084a6bd 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedType0EntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs index 331cb7fe5aa..b01f61703e3 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/OwnedTypeEntityType.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore.Storage.Json; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs index 47eb47fa1e3..93038212b3c 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBaseEntityType.cs @@ -18,7 +18,7 @@ using Microsoft.EntityFrameworkCore.ValueGeneration; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs index f637dfc110d..0577a8444c8 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalBasePrincipalDerivedDependentBasebyteEntityType.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs index a5e08b87de1..df0768549c1 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/BigModel_with_JSON_columns/PrincipalDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using NetTopologySuite.Geometries; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs index 1db211f6b7b..721ed66fe86 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs index 3a070a508d3..b6015cef4b2 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/CheckConstraints/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs index 188db7938f6..5667daf026f 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(CompiledModelRelationalTestBase.FunctionParameterTypeMappingContext), typeof(FunctionParameterTypeMappingContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs index 3cd9c09d101..dbd655dd774 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs index ea06f45e102..c136522997f 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_parameter_type_mapping/FunctionParameterTypeMappingContextModelBuilder.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs index 7ab16249c50..238947ef982 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(CompiledModelRelationalTestBase.FunctionTypeMappingContext), typeof(FunctionTypeMappingContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs index ead6c2fb06f..e27bcfc53b0 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs index 4a39a6ba62f..44cf62dc8bb 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Custom_function_type_mapping/FunctionTypeMappingContextModelBuilder.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs index 11c26f0834b..470536a0f37 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs index a248efefdc0..4723e5905df 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Scaffolding; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(CompiledModelRelationalTestBase.DbFunctionContext), typeof(DbFunctionContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs index 8d6f346c04a..306d9d6395d 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Scaffolding; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs index dceefb540ef..d64cecb3bba 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/DbFunctionContextModelBuilder.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs index dcdc1169e43..4f0b5a93795 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/DbFunctions/ObjectEntityType.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs index 1db211f6b7b..721ed66fe86 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs index 3a070a508d3..b6015cef4b2 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Dynamic_schema/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs index 2ad4ad9a256..424a09280c8 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs index a6d1f4e69ca..ca3a09c0e6b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/SimpleModel/DependentDerivedEntityType.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs index 47a72087835..71e8bb73609 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DataEntityType.cs @@ -13,7 +13,7 @@ using Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal; using Microsoft.EntityFrameworkCore.Storage; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs index c224873f6fa..78b53864399 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextAssemblyAttributes.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using TestNamespace; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable [assembly: DbContextModel(typeof(DbContext), typeof(DbContextModel))] diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs index 583ee4d90cc..6e8cb51a1a6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModel.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs index 998705126cf..809d2a82fcd 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Scaffolding/Baselines/Triggers/DbContextModelBuilder.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Internal; -#pragma warning disable 219, 612, 618 +#pragma warning disable 219, 612, 618, EF9901, EF9902, EF9904, EF9999 #nullable disable namespace TestNamespace diff --git a/tools/Resources.tt b/tools/Resources.tt index c8442fe70a4..9207f008c39 100644 --- a/tools/Resources.tt +++ b/tools/Resources.tt @@ -62,6 +62,14 @@ namespace <#= namespaceHint #> /// <# } +#> +<# + if (model.AccessModifier == "public" && model.ExperimentalAttributeArgument is not null) + { +#> + [Experimental(<#= model.ExperimentalAttributeArgument #>)] +<# + } #> <#= model.AccessModifier #> static class <#= model.Class #> { @@ -137,6 +145,14 @@ namespace <#= namespaceHint.EndsWith(".Internal", StringComparison.Ordinal) ? na /// 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. /// +<# + if (model.AccessModifier == "public" && model.ExperimentalAttributeArgument is not null) + { +#> + [Experimental(<#= model.ExperimentalAttributeArgument #>)] +<# + } +#> <#= model.AccessModifier #> static class <#= model.DiagnosticsClass #> { private static readonly ResourceManager _resourceManager @@ -233,6 +249,11 @@ namespace <#= namespaceHint.EndsWith(".Internal", StringComparison.Ordinal) ? na result.AccessModifier = (string)Session["AccessModifier"]; }; + if (Session.ContainsKey("ExperimentalAttributeArgument")) + { + result.ExperimentalAttributeArgument = (string)Session["ExperimentalAttributeArgument"]; + }; + if (Session.ContainsKey("LoggingDefinitionsClass")) { result.LoggingDefinitionsClass = (string)Session["LoggingDefinitionsClass"]; @@ -304,6 +325,7 @@ namespace <#= namespaceHint.EndsWith(".Internal", StringComparison.Ordinal) ? na public IEnumerable Resources { get; set; } public bool NoDiagnostics { get; set; } public string LoggingDefinitionsClass { get; set; } + public string ExperimentalAttributeArgument { get; set; } } class Resource