diff --git a/src/EFCore.Jet.Data/ConnectionPooling/ConnectionSet.cs b/src/EFCore.Jet.Data/ConnectionPooling/ConnectionSet.cs index 00e2944f..a97f7571 100644 --- a/src/EFCore.Jet.Data/ConnectionPooling/ConnectionSet.cs +++ b/src/EFCore.Jet.Data/ConnectionPooling/ConnectionSet.cs @@ -3,19 +3,12 @@ namespace EntityFrameworkCore.Jet.Data.ConnectionPooling { - class ConnectionSet : IDisposable + class ConnectionSet(string connectionString) : IDisposable { - public ConnectionSet(string connectionString) - { - ConnectionString = connectionString; - _connections = new DbConnection[10]; - ConnectionCount = 0; - } - - public string ConnectionString { get; } + public string ConnectionString { get; } = connectionString; - private DbConnection[] _connections; - public int ConnectionCount { get; private set; } + private DbConnection[] _connections = new DbConnection[10]; + public int ConnectionCount { get; private set; } = 0; public void AddConnection(DbConnection connection) { diff --git a/src/EFCore.Jet.Data/PreciseSchema.cs b/src/EFCore.Jet.Data/PreciseSchema.cs index aa4ca463..8275e8db 100644 --- a/src/EFCore.Jet.Data/PreciseSchema.cs +++ b/src/EFCore.Jet.Data/PreciseSchema.cs @@ -3,16 +3,10 @@ namespace EntityFrameworkCore.Jet.Data { - public class PreciseSchema : SchemaProvider + public class PreciseSchema(JetConnection connection, bool readOnly) : SchemaProvider { - private readonly Lazy _adoxSchema; - private readonly Lazy _daoSchema; - - public PreciseSchema(JetConnection connection, bool readOnly) - { - _adoxSchema = new Lazy(() => new AdoxSchema(connection, true, readOnly), false); - _daoSchema = new Lazy(() => new DaoSchema(connection, true, readOnly), false); - } + private readonly Lazy _adoxSchema = new(() => new AdoxSchema(connection, true, readOnly), false); + private readonly Lazy _daoSchema = new(() => new DaoSchema(connection, true, readOnly), false); public override void EnsureDualTable() => _adoxSchema.Value.EnsureDualTable(); // prefer ADOX, but DAO works too (but less precise) diff --git a/src/EFCore.Jet/Infrastructure/Internal/JetOptionsExtension.cs b/src/EFCore.Jet/Infrastructure/Internal/JetOptionsExtension.cs index 95144188..3d9c2968 100644 --- a/src/EFCore.Jet/Infrastructure/Internal/JetOptionsExtension.cs +++ b/src/EFCore.Jet/Infrastructure/Internal/JetOptionsExtension.cs @@ -198,16 +198,11 @@ public virtual JetOptionsExtension WithUseShortTextForSystemString(bool enabled) public override void ApplyServices(IServiceCollection services) => services.AddEntityFrameworkJet(); - private sealed class ExtensionInfo : RelationalExtensionInfo + private sealed class ExtensionInfo(IDbContextOptionsExtension extension) : RelationalExtensionInfo(extension) { private int? _serviceProviderHash; private string? _logFragment; - public ExtensionInfo(IDbContextOptionsExtension extension) - : base(extension) - { - } - private new JetOptionsExtension Extension => (JetOptionsExtension)base.Extension; diff --git a/src/EFCore.Jet/Metadata/Conventions/JetConventionSetBuilder.cs b/src/EFCore.Jet/Metadata/Conventions/JetConventionSetBuilder.cs index d0d85b1a..fabeb5c2 100644 --- a/src/EFCore.Jet/Metadata/Conventions/JetConventionSetBuilder.cs +++ b/src/EFCore.Jet/Metadata/Conventions/JetConventionSetBuilder.cs @@ -10,25 +10,19 @@ // ReSharper disable once CheckNamespace namespace Microsoft.EntityFrameworkCore.Metadata.Conventions { - public class JetConventionSetBuilder : RelationalConventionSetBuilder + public class JetConventionSetBuilder( + [NotNull] ProviderConventionSetBuilderDependencies dependencies, + [NotNull] RelationalConventionSetBuilderDependencies relationalDependencies, + ISqlGenerationHelper sqlGenerationHelper) + : RelationalConventionSetBuilder(dependencies, relationalDependencies) { - private readonly ISqlGenerationHelper _sqlGenerationHelper; - public JetConventionSetBuilder( - [NotNull] ProviderConventionSetBuilderDependencies dependencies, - [NotNull] RelationalConventionSetBuilderDependencies relationalDependencies, - ISqlGenerationHelper sqlGenerationHelper) - : base(dependencies, relationalDependencies) - { - _sqlGenerationHelper = sqlGenerationHelper; - } - public override ConventionSet CreateConventionSet() { var conventionSet = base.CreateConventionSet(); conventionSet.Add(new JetValueGenerationStrategyConvention(Dependencies, RelationalDependencies)); conventionSet.Add(new RelationalMaxIdentifierLengthConvention(64, Dependencies, RelationalDependencies)); - conventionSet.Add(new JetIndexConvention(Dependencies, RelationalDependencies, _sqlGenerationHelper)); + conventionSet.Add(new JetIndexConvention(Dependencies, RelationalDependencies, sqlGenerationHelper)); conventionSet.Replace( new JetOnDeleteConvention(Dependencies, RelationalDependencies)); diff --git a/src/EFCore.Jet/Metadata/Conventions/JetOnDeleteConvention.cs b/src/EFCore.Jet/Metadata/Conventions/JetOnDeleteConvention.cs index 57b21cd5..4a1ae224 100644 --- a/src/EFCore.Jet/Metadata/Conventions/JetOnDeleteConvention.cs +++ b/src/EFCore.Jet/Metadata/Conventions/JetOnDeleteConvention.cs @@ -12,22 +12,17 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Conventions; /// A convention that configures the OnDelete behavior for foreign keys on the join entity type for /// self-referencing skip navigations /// -public class JetOnDeleteConvention : CascadeDeleteConvention, - ISkipNavigationForeignKeyChangedConvention, - IEntityTypeAnnotationChangedConvention +public class JetOnDeleteConvention( + ProviderConventionSetBuilderDependencies dependencies, + RelationalConventionSetBuilderDependencies relationalDependencies) + : CascadeDeleteConvention(dependencies), + ISkipNavigationForeignKeyChangedConvention, + IEntityTypeAnnotationChangedConvention { - public JetOnDeleteConvention( - ProviderConventionSetBuilderDependencies dependencies, - RelationalConventionSetBuilderDependencies relationalDependencies) - : base(dependencies) - { - RelationalDependencies = relationalDependencies; - } - /// /// Relational provider-specific dependencies for this service. /// - protected virtual RelationalConventionSetBuilderDependencies RelationalDependencies { get; } + protected virtual RelationalConventionSetBuilderDependencies RelationalDependencies { get; } = relationalDependencies; /// public virtual void ProcessSkipNavigationForeignKeyChanged( diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetConvertTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetConvertTranslator.cs index e098ecc5..8c046c83 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetConvertTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetConvertTranslator.cs @@ -15,9 +15,9 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetConvertTranslator : IMethodCallTranslator + public class JetConvertTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { - private readonly JetSqlExpressionFactory _sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; // The value here is actually never used. private static readonly Dictionary _functionName = new Dictionary @@ -61,9 +61,6 @@ private static readonly IEnumerable _supportedMethods .ParameterType))) .ToList(); - public JetConvertTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; - public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateDiffFunctionsTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateDiffFunctionsTranslator.cs index 4281bc8d..843c17dc 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateDiffFunctionsTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateDiffFunctionsTranslator.cs @@ -10,7 +10,7 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal { - public class JetDateDiffFunctionsTranslator : IMethodCallTranslator + public class JetDateDiffFunctionsTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { private readonly Dictionary _methodInfoDateDiffMapping = new Dictionary @@ -197,14 +197,6 @@ private readonly Dictionary _methodInfoDateDiffMapping }, }; - private readonly ISqlExpressionFactory _sqlExpressionFactory; - - public JetDateDiffFunctionsTranslator( - ISqlExpressionFactory sqlExpressionFactory) - { - _sqlExpressionFactory = sqlExpressionFactory; - } - public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { if (_methodInfoDateDiffMapping.TryGetValue(method, out var datePart)) @@ -213,12 +205,12 @@ public JetDateDiffFunctionsTranslator( var endDate = arguments[2]; var typeMapping = ExpressionExtensions.InferTypeMapping(startDate, endDate); - startDate = _sqlExpressionFactory.ApplyTypeMapping(startDate, typeMapping); - endDate = _sqlExpressionFactory.ApplyTypeMapping(endDate, typeMapping); + startDate = sqlExpressionFactory.ApplyTypeMapping(startDate, typeMapping); + endDate = sqlExpressionFactory.ApplyTypeMapping(endDate, typeMapping); - return _sqlExpressionFactory.Function( + return sqlExpressionFactory.Function( "DATEDIFF", - new[] { _sqlExpressionFactory.Constant(datePart), startDate, endDate }, + new[] { sqlExpressionFactory.Constant(datePart), startDate, endDate }, false, new[] {false, false, false}, typeof(int)); diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMemberTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMemberTranslator.cs index cfbad5ff..426ef4c1 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMemberTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMemberTranslator.cs @@ -16,7 +16,10 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetDateTimeMemberTranslator : IMemberTranslator + public class JetDateTimeMemberTranslator( + ISqlExpressionFactory sqlExpressionFactory, + IRelationalTypeMappingSource typeMappingSource) + : IMemberTranslator { private static readonly Dictionary DatePartMapping = new() @@ -32,16 +35,8 @@ private static readonly Dictionary DatePartMapping //{ nameof(DateTime.Millisecond), "millisecond" } }; - private readonly JetSqlExpressionFactory _sqlExpressionFactory; - private readonly IRelationalTypeMappingSource _typeMappingSource; - - public JetDateTimeMemberTranslator( - ISqlExpressionFactory sqlExpressionFactory, - IRelationalTypeMappingSource typeMappingSource) - { - _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; - _typeMappingSource = typeMappingSource; - } + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; + private readonly IRelationalTypeMappingSource _typeMappingSource = typeMappingSource; /// /// This API supports the Entity Framework Core infrastructure and is not intended to be used diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMethodTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMethodTranslator.cs index 083df1ec..31d4d261 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMethodTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetDateTimeMethodTranslator.cs @@ -16,9 +16,9 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetDateTimeMethodTranslator : IMethodCallTranslator + public class JetDateTimeMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { - private readonly JetSqlExpressionFactory _sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; private readonly Dictionary _methodInfoDatePartMapping = new Dictionary { @@ -44,9 +44,6 @@ public class JetDateTimeMethodTranslator : IMethodCallTranslator { typeof(DateTimeOffset).GetRuntimeMethod(nameof(DateTimeOffset.ToUnixTimeMilliseconds), Type.EmptyTypes)!, "millisecond" } }; - public JetDateTimeMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; - public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { if (_methodInfoDatePartMapping.TryGetValue(method, out var datePart) && instance != null) diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetIsDateFunctionTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetIsDateFunctionTranslator.cs index aa4b1cf0..15af06f9 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetIsDateFunctionTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetIsDateFunctionTranslator.cs @@ -9,21 +9,16 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal { - public class JetIsDateFunctionTranslator : IMethodCallTranslator + public class JetIsDateFunctionTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { - private readonly ISqlExpressionFactory _sqlExpressionFactory; - private static readonly MethodInfo _methodInfo = typeof(JetDbFunctionsExtensions) .GetRuntimeMethod(nameof(JetDbFunctionsExtensions.IsDate), new[] { typeof(DbFunctions), typeof(string) })!; - public JetIsDateFunctionTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = sqlExpressionFactory; - public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { return _methodInfo.Equals(method) - ? _sqlExpressionFactory.Convert( - _sqlExpressionFactory.Function( + ? sqlExpressionFactory.Convert( + sqlExpressionFactory.Function( "ISDATE", new[] { arguments[1] }, false, diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetMathTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetMathTranslator.cs index 317d42f6..a0ddadfb 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetMathTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetMathTranslator.cs @@ -16,9 +16,9 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetMathTranslator : IMethodCallTranslator + public class JetMathTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { - private readonly JetSqlExpressionFactory _sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; private static readonly Dictionary _supportedMethodTranslationsDirect = new Dictionary { @@ -96,9 +96,6 @@ public class JetMathTranslator : IMethodCallTranslator typeof(MathF).GetRuntimeMethod(nameof(MathF.Round), new[] { typeof(float), typeof(int) })! }; - public JetMathTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; - public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { Check.NotNull(method, nameof(method)); diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetNewGuidTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetNewGuidTranslator.cs index 33823a20..657e0169 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetNewGuidTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetNewGuidTranslator.cs @@ -14,13 +14,10 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetNewGuidTranslator : IMethodCallTranslator + public class JetNewGuidTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { private static readonly MethodInfo _methodInfo = typeof(Guid).GetRuntimeMethod(nameof(Guid.NewGuid), Array.Empty())!; - private readonly JetSqlExpressionFactory _sqlExpressionFactory; - - public JetNewGuidTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetObjectToStringTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetObjectToStringTranslator.cs index afc08d8b..542bbd33 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetObjectToStringTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetObjectToStringTranslator.cs @@ -15,9 +15,9 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetObjectToStringTranslator : IMethodCallTranslator + public class JetObjectToStringTranslator(SqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { - private readonly JetSqlExpressionFactory _sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; private const int DefaultLength = 100; @@ -43,9 +43,6 @@ private static readonly Dictionary TypeMapping { typeof(byte[]), $"varchar({DefaultLength})" } }; - public JetObjectToStringTranslator(SqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; - public virtual SqlExpression? Translate( SqlExpression? instance, MethodInfo method, diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetRandomTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetRandomTranslator.cs index f7edd4a5..9aa5e5a5 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetRandomTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetRandomTranslator.cs @@ -15,7 +15,7 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetRandomTranslator : IMethodCallTranslator + public class JetRandomTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { private static readonly MethodInfo[] _methodInfo = { @@ -28,10 +28,7 @@ public class JetRandomTranslator : IMethodCallTranslator typeof(DbFunctions) })! }; - private readonly JetSqlExpressionFactory _sqlExpressionFactory; - - public JetRandomTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMemberTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMemberTranslator.cs index db91e69f..98b5eb0a 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMemberTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMemberTranslator.cs @@ -14,12 +14,9 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetStringMemberTranslator : IMemberTranslator + public class JetStringMemberTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMemberTranslator { - private readonly JetSqlExpressionFactory _sqlExpressionFactory; - - public JetStringMemberTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; /// /// This API supports the Entity Framework Core infrastructure and is not intended to be used diff --git a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs index 6ae83134..3f5c3645 100644 --- a/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs +++ b/src/EFCore.Jet/Query/ExpressionTranslators/Internal/JetStringMethodTranslator.cs @@ -17,9 +17,9 @@ namespace EntityFrameworkCore.Jet.Query.ExpressionTranslators.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetStringMethodTranslator : IMethodCallTranslator + public class JetStringMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) : IMethodCallTranslator { - private readonly JetSqlExpressionFactory _sqlExpressionFactory; + private readonly JetSqlExpressionFactory _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; private static readonly MethodInfo IndexOfMethodInfo = typeof(string).GetRuntimeMethod(nameof(string.IndexOf), new[] { typeof(string) })!; @@ -79,9 +79,6 @@ private static readonly MethodInfo _lastOrDefaultMethodInfoWithoutArgs && m.GetParameters().Length == 1).MakeGenericMethod(typeof(char)); - public JetStringMethodTranslator(ISqlExpressionFactory sqlExpressionFactory) - => _sqlExpressionFactory = (JetSqlExpressionFactory)sqlExpressionFactory; - public SqlExpression? Translate(SqlExpression? instance, MethodInfo method, IReadOnlyList arguments, IDiagnosticsLogger logger) { if (instance != null) diff --git a/src/EFCore.Jet/Query/Internal/JetCompiledQueryCacheKeyGenerator.cs b/src/EFCore.Jet/Query/Internal/JetCompiledQueryCacheKeyGenerator.cs index 8a21eedf..67127dbc 100644 --- a/src/EFCore.Jet/Query/Internal/JetCompiledQueryCacheKeyGenerator.cs +++ b/src/EFCore.Jet/Query/Internal/JetCompiledQueryCacheKeyGenerator.cs @@ -47,15 +47,9 @@ public override object GenerateCacheKey(Expression query, bool async) GenerateCacheKeyCore(query, async)); } - private struct JetCompiledQueryCacheKey + private struct JetCompiledQueryCacheKey(RelationalCompiledQueryCacheKey relationalCompiledQueryCacheKey) { - private readonly RelationalCompiledQueryCacheKey _relationalCompiledQueryCacheKey; - - public JetCompiledQueryCacheKey( - RelationalCompiledQueryCacheKey relationalCompiledQueryCacheKey) - { - _relationalCompiledQueryCacheKey = relationalCompiledQueryCacheKey; - } + private readonly RelationalCompiledQueryCacheKey _relationalCompiledQueryCacheKey = relationalCompiledQueryCacheKey; public override bool Equals(object? obj) => !(obj is null) diff --git a/src/EFCore.Jet/Query/Internal/JetDateTimeExpressionVisitor.cs b/src/EFCore.Jet/Query/Internal/JetDateTimeExpressionVisitor.cs index e0dcd72c..e1d404a2 100644 --- a/src/EFCore.Jet/Query/Internal/JetDateTimeExpressionVisitor.cs +++ b/src/EFCore.Jet/Query/Internal/JetDateTimeExpressionVisitor.cs @@ -7,18 +7,12 @@ namespace EntityFrameworkCore.Jet.Query.Internal { - public class JetDateTimeExpressionVisitor : ExpressionVisitor + public class JetDateTimeExpressionVisitor( + ISqlExpressionFactory sqlExpressionFactory, + IRelationalTypeMappingSource relationalTypeMappingSource) + : ExpressionVisitor { - private readonly ISqlExpressionFactory _sqlExpressionFactory; - private readonly IRelationalTypeMappingSource _relationalTypeMappingSource; - - public JetDateTimeExpressionVisitor( - ISqlExpressionFactory sqlExpressionFactory, - IRelationalTypeMappingSource relationalTypeMappingSource) - { - _sqlExpressionFactory = sqlExpressionFactory; - _relationalTypeMappingSource = relationalTypeMappingSource; - } + private readonly ISqlExpressionFactory _sqlExpressionFactory = sqlExpressionFactory; protected override Expression VisitExtension(Expression extensionExpression) => extensionExpression switch @@ -45,7 +39,7 @@ protected virtual SelectExpression VisitSelect(SelectExpression selectExpression ExpressionType.Convert, projection.Expression, typeof(double), - _relationalTypeMappingSource.FindMapping(projection.Expression.TypeMapping.ClrType))) + relationalTypeMappingSource.FindMapping(projection.Expression.TypeMapping.ClrType))) : projection) .ToList(); diff --git a/src/EFCore.Jet/Query/Internal/JetQueryTranslationPostprocessorFactory.cs b/src/EFCore.Jet/Query/Internal/JetQueryTranslationPostprocessorFactory.cs index e5bb5576..9406347d 100644 --- a/src/EFCore.Jet/Query/Internal/JetQueryTranslationPostprocessorFactory.cs +++ b/src/EFCore.Jet/Query/Internal/JetQueryTranslationPostprocessorFactory.cs @@ -20,31 +20,19 @@ namespace EntityFrameworkCore.Jet.Query.Internal /// This service cannot depend on services registered as . /// /// - public class JetQueryTranslationPostprocessorFactory : IQueryTranslationPostprocessorFactory + public class JetQueryTranslationPostprocessorFactory( + QueryTranslationPostprocessorDependencies dependencies, + RelationalQueryTranslationPostprocessorDependencies relationalDependencies, + IRelationalTypeMappingSource relationalTypeMappingSource, + IJetOptions options) + : IQueryTranslationPostprocessorFactory { - private readonly QueryTranslationPostprocessorDependencies _dependencies; - private readonly RelationalQueryTranslationPostprocessorDependencies _relationalDependencies; - private readonly IRelationalTypeMappingSource _relationalTypeMappingSource; - private readonly IJetOptions _options; - - public JetQueryTranslationPostprocessorFactory( - QueryTranslationPostprocessorDependencies dependencies, - RelationalQueryTranslationPostprocessorDependencies relationalDependencies, - IRelationalTypeMappingSource relationalTypeMappingSource, - IJetOptions options) - { - _dependencies = dependencies; - _relationalDependencies = relationalDependencies; - _relationalTypeMappingSource = relationalTypeMappingSource; - _options = options; - } - public virtual QueryTranslationPostprocessor Create(QueryCompilationContext queryCompilationContext) => new JetQueryTranslationPostprocessor( - _dependencies, - _relationalDependencies, + dependencies, + relationalDependencies, (RelationalQueryCompilationContext)queryCompilationContext, - _relationalTypeMappingSource, - _options); + relationalTypeMappingSource, + options); } } diff --git a/src/EFCore.Jet/Storage/Internal/JetDatabaseCreator.cs b/src/EFCore.Jet/Storage/Internal/JetDatabaseCreator.cs index 5c4a3ade..39d4c19e 100644 --- a/src/EFCore.Jet/Storage/Internal/JetDatabaseCreator.cs +++ b/src/EFCore.Jet/Storage/Internal/JetDatabaseCreator.cs @@ -19,20 +19,14 @@ namespace EntityFrameworkCore.Jet.Storage.Internal /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// - public class JetDatabaseCreator : RelationalDatabaseCreator + public class JetDatabaseCreator( + [NotNull] RelationalDatabaseCreatorDependencies dependencies, + [NotNull] IJetRelationalConnection relationalConnection, + [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder) + : RelationalDatabaseCreator(dependencies) { - private readonly IJetRelationalConnection _relationalConnection; - private readonly IRawSqlCommandBuilder _rawSqlCommandBuilder; - - public JetDatabaseCreator( - [NotNull] RelationalDatabaseCreatorDependencies dependencies, - [NotNull] IJetRelationalConnection relationalConnection, - [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder) - : base(dependencies) - { - _relationalConnection = relationalConnection; - _rawSqlCommandBuilder = rawSqlCommandBuilder; - } + private readonly IJetRelationalConnection _relationalConnection = relationalConnection; + private readonly IRawSqlCommandBuilder _rawSqlCommandBuilder = rawSqlCommandBuilder; /// /// This API supports the Entity Framework Core infrastructure and is not intended to be used diff --git a/src/EFCore.Jet/Update/Internal/JetUpdateSqlGenerator.cs b/src/EFCore.Jet/Update/Internal/JetUpdateSqlGenerator.cs index 46e59f5f..cd77869c 100644 --- a/src/EFCore.Jet/Update/Internal/JetUpdateSqlGenerator.cs +++ b/src/EFCore.Jet/Update/Internal/JetUpdateSqlGenerator.cs @@ -28,14 +28,9 @@ namespace EntityFrameworkCore.Jet.Update.Internal /// This service cannot depend on services registered as . /// /// - public class JetUpdateSqlGenerator : UpdateAndSelectSqlGenerator, IJetUpdateSqlGenerator + public class JetUpdateSqlGenerator([NotNull] UpdateSqlGeneratorDependencies dependencies) + : UpdateAndSelectSqlGenerator(dependencies), IJetUpdateSqlGenerator { - public JetUpdateSqlGenerator( - [NotNull] UpdateSqlGeneratorDependencies dependencies) - : base(dependencies) - { - } - public override ResultSetMapping AppendInsertOperation(StringBuilder commandStringBuilder, IReadOnlyModificationCommand command, int commandPosition, out bool requiresTransaction) { diff --git a/src/EFCore.Jet/Utilities/EnumerableExtensions.cs b/src/EFCore.Jet/Utilities/EnumerableExtensions.cs index c12eabff..d5854023 100644 --- a/src/EFCore.Jet/Utilities/EnumerableExtensions.cs +++ b/src/EFCore.Jet/Utilities/EnumerableExtensions.cs @@ -18,18 +18,11 @@ public static IEnumerable Distinct( where T : class => source.Distinct(new DynamicEqualityComparer(comparer)); - private sealed class DynamicEqualityComparer : IEqualityComparer + private sealed class DynamicEqualityComparer(Func func) : IEqualityComparer where T : class { - private readonly Func _func; - - public DynamicEqualityComparer(Func func) - { - _func = func; - } - public bool Equals(T? x, T? y) - => _func(x, y); + => func(x, y); public int GetHashCode(T obj) => 0; // force Equals diff --git a/src/Shared/CodeAnnotations.cs b/src/Shared/CodeAnnotations.cs index 9865cae6..546ae4d5 100644 --- a/src/Shared/CodeAnnotations.cs +++ b/src/Shared/CodeAnnotations.cs @@ -35,26 +35,21 @@ internal sealed class NoEnumerationAttribute : Attribute } [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] - internal sealed class ContractAnnotationAttribute : Attribute + internal sealed class ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates) : Attribute { - public string Contract { get; } + public string Contract { get; } = contract; - public bool ForceFullStates { get; } + public bool ForceFullStates { get; } = forceFullStates; public ContractAnnotationAttribute([NotNull] string contract) : this(contract, false) { } - - public ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates) - { - Contract = contract; - ForceFullStates = forceFullStates; - } } [AttributeUsage(AttributeTargets.All)] - internal sealed class UsedImplicitlyAttribute : Attribute + internal sealed class UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) + : Attribute { public UsedImplicitlyAttribute() : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) @@ -71,25 +66,15 @@ public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags) { } - public UsedImplicitlyAttribute( - ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) - { - UseKindFlags = useKindFlags; - TargetFlags = targetFlags; - } - - public ImplicitUseKindFlags UseKindFlags { get; } - public ImplicitUseTargetFlags TargetFlags { get; } + public ImplicitUseKindFlags UseKindFlags { get; } = useKindFlags; + public ImplicitUseTargetFlags TargetFlags { get; } = targetFlags; } [AttributeUsage(AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Delegate)] - internal sealed class StringFormatMethodAttribute : Attribute + internal sealed class StringFormatMethodAttribute([NotNull] string formatParameterName) : Attribute { - public StringFormatMethodAttribute([NotNull] string formatParameterName) - => FormatParameterName = formatParameterName; - [NotNull] - public string FormatParameterName { get; } + public string FormatParameterName { get; } = formatParameterName; } [Flags] diff --git a/test/EFCore.Jet.FunctionalTests/BatchingTest.cs b/test/EFCore.Jet.FunctionalTests/BatchingTest.cs index 88b02eeb..532ed5fc 100644 --- a/test/EFCore.Jet.FunctionalTests/BatchingTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BatchingTest.cs @@ -21,14 +21,10 @@ // ReSharper disable InconsistentNaming namespace EntityFrameworkCore.Jet.FunctionalTests { - public class BatchingTest : IClassFixture + public class BatchingTest(BatchingTest.BatchingTestFixture fixture) + : IClassFixture { - public BatchingTest(BatchingTestFixture fixture) - { - Fixture = fixture; - } - - protected BatchingTestFixture Fixture { get; } + protected BatchingTestFixture Fixture { get; } = fixture; [ConditionalTheory] [InlineData(true, true, true)] @@ -376,13 +372,8 @@ private Task ExecuteWithStrategyInTransactionAsync( protected void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) => facade.UseTransaction(transaction.GetDbTransaction()); - private class BloggingContext : PoolableDbContext + private class BloggingContext(DbContextOptions options) : PoolableDbContext(options) { - public BloggingContext(DbContextOptions options) - : base(options) - { - } - protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity( diff --git a/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs index 53c55cb2..31e48b6b 100644 --- a/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BuiltInDataTypesJetTest.cs @@ -64,23 +64,6 @@ var results } } - [ConditionalFact(Skip = "Issue#13487")] - public void Translate_array_length() - { - using (var db = CreateContext()) - { - db.Set() - .Where(p => p.BytesAsImage.Length == 0) - .Select(p => p.BytesAsImage.Length) - .FirstOrDefault(); - - AssertSql( - $@"SELECT TOP 1 CAST(DATALENGTH(`p`.`BytesAsImage`) AS int) -FROM `MappedDataTypesWithIdentity` AS `p` -WHERE CAST(DATALENGTH(`p`.`BytesAsImage`) AS int) = 0"); - } - } - [ConditionalFact] public void Sql_translation_uses_type_mapper_when_parameter() { diff --git a/test/EFCore.Jet.FunctionalTests/BulkUpdates/ComplexTypeBulkUpdatesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BulkUpdates/ComplexTypeBulkUpdatesJetTest.cs index 99c5c556..025e3d10 100644 --- a/test/EFCore.Jet.FunctionalTests/BulkUpdates/ComplexTypeBulkUpdatesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BulkUpdates/ComplexTypeBulkUpdatesJetTest.cs @@ -12,14 +12,12 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.BulkUpdates; -public class ComplexTypeBulkUpdatesJetTest : ComplexTypeBulkUpdatesRelationalTestBase< - ComplexTypeBulkUpdatesJetTest.ComplexTypeBulkUpdatesJetFixture> +public class ComplexTypeBulkUpdatesJetTest( + ComplexTypeBulkUpdatesJetTest.ComplexTypeBulkUpdatesJetFixture fixture, + ITestOutputHelper testOutputHelper) + : ComplexTypeBulkUpdatesRelationalTestBase< + ComplexTypeBulkUpdatesJetTest.ComplexTypeBulkUpdatesJetFixture>(fixture, testOutputHelper) { - public ComplexTypeBulkUpdatesJetTest(ComplexTypeBulkUpdatesJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - public override async Task Delete_entity_type_with_complex_type(bool async) { await base.Delete_entity_type_with_complex_type(async); diff --git a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesJetTest.cs index 9252507c..c3900f42 100644 --- a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesJetTest.cs @@ -9,14 +9,12 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.BulkUpdates; -public class TPCFiltersInheritanceBulkUpdatesJetTest : TPCFiltersInheritanceBulkUpdatesTestBase< - TPCFiltersInheritanceBulkUpdatesJetFixture> +public class TPCFiltersInheritanceBulkUpdatesJetTest( + TPCFiltersInheritanceBulkUpdatesJetFixture fixture, + ITestOutputHelper testOutputHelper) + : TPCFiltersInheritanceBulkUpdatesTestBase< + TPCFiltersInheritanceBulkUpdatesJetFixture>(fixture, testOutputHelper) { - public TPCFiltersInheritanceBulkUpdatesJetTest(TPCFiltersInheritanceBulkUpdatesJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesJetTest.cs index c78b4a39..ac4a77bf 100644 --- a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesJetTest.cs @@ -9,15 +9,11 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.BulkUpdates; -public class TPCInheritanceBulkUpdatesJetTest : TPCInheritanceBulkUpdatesTestBase +public class TPCInheritanceBulkUpdatesJetTest( + TPCInheritanceBulkUpdatesJetFixture fixture, + ITestOutputHelper testOutputHelper) + : TPCInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - public TPCInheritanceBulkUpdatesJetTest( - TPCInheritanceBulkUpdatesJetFixture fixture, - ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesJetTest.cs index 5ab26b65..962d07bd 100644 --- a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesJetTest.cs @@ -10,14 +10,12 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.BulkUpdates; -public class TPTFiltersInheritanceBulkUpdatesJetTest : TPTFiltersInheritanceBulkUpdatesTestBase< - TPTFiltersInheritanceBulkUpdatesJetFixture> +public class TPTFiltersInheritanceBulkUpdatesJetTest( + TPTFiltersInheritanceBulkUpdatesJetFixture fixture, + ITestOutputHelper testOutputHelper) + : TPTFiltersInheritanceBulkUpdatesTestBase< + TPTFiltersInheritanceBulkUpdatesJetFixture>(fixture, testOutputHelper) { - public TPTFiltersInheritanceBulkUpdatesJetTest(TPTFiltersInheritanceBulkUpdatesJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesJetTest.cs index 326bda22..172ba0bc 100644 --- a/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesJetTest.cs @@ -10,13 +10,11 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.BulkUpdates; -public class TPTInheritanceBulkUpdatesJetTest : TPTInheritanceBulkUpdatesTestBase +public class TPTInheritanceBulkUpdatesJetTest( + TPTInheritanceBulkUpdatesJetFixture fixture, + ITestOutputHelper testOutputHelper) + : TPTInheritanceBulkUpdatesTestBase(fixture, testOutputHelper) { - public TPTInheritanceBulkUpdatesJetTest(TPTInheritanceBulkUpdatesJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Jet.FunctionalTests/CommandConfigurationTest.cs b/test/EFCore.Jet.FunctionalTests/CommandConfigurationTest.cs index 3eadee10..9e34f524 100644 --- a/test/EFCore.Jet.FunctionalTests/CommandConfigurationTest.cs +++ b/test/EFCore.Jet.FunctionalTests/CommandConfigurationTest.cs @@ -54,13 +54,8 @@ where word.Contains(searchTerm) return matchQuery.Count(); } - private class ChipsContext : PoolableDbContext + private class ChipsContext(DbContextOptions options) : PoolableDbContext(options) { - public ChipsContext(DbContextOptions options) - : base(options) - { - } - public DbSet Chips { get; set; } } diff --git a/test/EFCore.Jet.FunctionalTests/CommandInterceptionJetTest.cs b/test/EFCore.Jet.FunctionalTests/CommandInterceptionJetTest.cs index e6041f9b..88fbbfb1 100644 --- a/test/EFCore.Jet.FunctionalTests/CommandInterceptionJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/CommandInterceptionJetTest.cs @@ -15,13 +15,10 @@ #nullable disable namespace EntityFrameworkCore.Jet.FunctionalTests { - public abstract class CommandInterceptionJetTestBase : CommandInterceptionTestBase + public abstract class CommandInterceptionJetTestBase( + CommandInterceptionJetTestBase.InterceptionJetFixtureBase fixture) + : CommandInterceptionTestBase(fixture) { - protected CommandInterceptionJetTestBase(InterceptionJetFixtureBase fixture) - : base(fixture) - { - } - public override async Task Intercept_query_passively(bool async, bool inject) { AssertSql( @@ -60,14 +57,9 @@ protected override IServiceCollection InjectInterceptors( => base.InjectInterceptors(serviceCollection.AddEntityFrameworkJet(), injectedInterceptors); } - public class CommandInterceptionJetTest - : CommandInterceptionJetTestBase, IClassFixture + public class CommandInterceptionJetTest(CommandInterceptionJetTest.InterceptionJetFixture fixture) + : CommandInterceptionJetTestBase(fixture), IClassFixture { - public CommandInterceptionJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override bool ShouldSubscribeToDiagnosticListener => false; @@ -81,15 +73,11 @@ public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder build } } - public class CommandInterceptionWithDiagnosticsJetTest - : CommandInterceptionJetTestBase, + public class CommandInterceptionWithDiagnosticsJetTest( + CommandInterceptionWithDiagnosticsJetTest.InterceptionJetFixture fixture) + : CommandInterceptionJetTestBase(fixture), IClassFixture { - public CommandInterceptionWithDiagnosticsJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override bool ShouldSubscribeToDiagnosticListener => true; diff --git a/test/EFCore.Jet.FunctionalTests/CompositeKeyEndToEndJetTest.cs b/test/EFCore.Jet.FunctionalTests/CompositeKeyEndToEndJetTest.cs index 2946fc08..c82b86a6 100644 --- a/test/EFCore.Jet.FunctionalTests/CompositeKeyEndToEndJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/CompositeKeyEndToEndJetTest.cs @@ -6,14 +6,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class CompositeKeyEndToEndJetTest : CompositeKeyEndToEndTestBase< - CompositeKeyEndToEndJetTest.CompositeKeyEndToEndJetFixture> + public class CompositeKeyEndToEndJetTest(CompositeKeyEndToEndJetTest.CompositeKeyEndToEndJetFixture fixture) + : CompositeKeyEndToEndTestBase< + CompositeKeyEndToEndJetTest.CompositeKeyEndToEndJetFixture>(fixture) { - public CompositeKeyEndToEndJetTest(CompositeKeyEndToEndJetFixture fixture) - : base(fixture) - { - } - public class CompositeKeyEndToEndJetFixture : CompositeKeyEndToEndFixtureBase { protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/ConferencePlannerJetTest.cs b/test/EFCore.Jet.FunctionalTests/ConferencePlannerJetTest.cs index a4be3715..9e1f4d1b 100644 --- a/test/EFCore.Jet.FunctionalTests/ConferencePlannerJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ConferencePlannerJetTest.cs @@ -8,14 +8,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class ConferencePlannerJetTest : ConferencePlannerTestBase + public class ConferencePlannerJetTest(ConferencePlannerJetTest.ConferencePlannerJetFixture fixture) + : ConferencePlannerTestBase(fixture) { - public ConferencePlannerJetTest(ConferencePlannerJetFixture fixture) - : base(fixture) - { - } - protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) => facade.UseTransaction(transaction.GetDbTransaction()); diff --git a/test/EFCore.Jet.FunctionalTests/ConnectionInterceptionJetTest.cs b/test/EFCore.Jet.FunctionalTests/ConnectionInterceptionJetTest.cs index 4a3cf335..6c6d61c6 100644 --- a/test/EFCore.Jet.FunctionalTests/ConnectionInterceptionJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ConnectionInterceptionJetTest.cs @@ -15,13 +15,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public abstract class ConnectionInterceptionJetTestBase : ConnectionInterceptionTestBase + public abstract class ConnectionInterceptionJetTestBase( + ConnectionInterceptionJetTestBase.InterceptionJetFixtureBase fixture) + : ConnectionInterceptionTestBase(fixture) { - protected ConnectionInterceptionJetTestBase(InterceptionJetFixtureBase fixture) - : base(fixture) - { - } - public abstract class InterceptionJetFixtureBase : InterceptionFixtureBase { protected override string StoreName => "ConnectionInterception"; @@ -53,29 +50,21 @@ public class FakeDbConnection : DbConnection protected override DbCommand CreateDbCommand() => throw new NotImplementedException(); } - public class ConnectionInterceptionJetTest - : ConnectionInterceptionJetTestBase, IClassFixture + public class ConnectionInterceptionJetTest(ConnectionInterceptionJetTest.InterceptionJetFixture fixture) + : ConnectionInterceptionJetTestBase(fixture), + IClassFixture { - public ConnectionInterceptionJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override bool ShouldSubscribeToDiagnosticListener => false; } } - public class ConnectionInterceptionWithDiagnosticsJetTest - : ConnectionInterceptionJetTestBase, + public class ConnectionInterceptionWithDiagnosticsJetTest( + ConnectionInterceptionWithDiagnosticsJetTest.InterceptionJetFixture fixture) + : ConnectionInterceptionJetTestBase(fixture), IClassFixture { - public ConnectionInterceptionWithDiagnosticsJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override bool ShouldSubscribeToDiagnosticListener => true; diff --git a/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs b/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs index ebcbe1ed..68ace8b5 100644 --- a/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ConvertToProviderTypesJetTest.cs @@ -17,14 +17,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class ConvertToProviderTypesJetTest : ConvertToProviderTypesTestBase< - ConvertToProviderTypesJetTest.ConvertToProviderTypesJetFixture> + public class ConvertToProviderTypesJetTest(ConvertToProviderTypesJetTest.ConvertToProviderTypesJetFixture fixture) + : ConvertToProviderTypesTestBase< + ConvertToProviderTypesJetTest.ConvertToProviderTypesJetFixture>(fixture) { - public ConvertToProviderTypesJetTest(ConvertToProviderTypesJetFixture fixture) - : base(fixture) - { - } - [ConditionalFact] public virtual void Columns_have_expected_data_types() { diff --git a/test/EFCore.Jet.FunctionalTests/DataBindingJetTest.cs b/test/EFCore.Jet.FunctionalTests/DataBindingJetTest.cs index f53e37ec..68122f22 100644 --- a/test/EFCore.Jet.FunctionalTests/DataBindingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/DataBindingJetTest.cs @@ -4,11 +4,5 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class DataBindingJetTest : DataBindingTestBase - { - public DataBindingJetTest(F1JetFixture fixture) - : base(fixture) - { - } - } + public class DataBindingJetTest(F1JetFixture fixture) : DataBindingTestBase(fixture); } diff --git a/test/EFCore.Jet.FunctionalTests/DbContextPoolingTest.cs b/test/EFCore.Jet.FunctionalTests/DbContextPoolingTest.cs index 79044663..aa12d6c6 100644 --- a/test/EFCore.Jet.FunctionalTests/DbContextPoolingTest.cs +++ b/test/EFCore.Jet.FunctionalTests/DbContextPoolingTest.cs @@ -137,13 +137,7 @@ private interface IPooledContext { } - private class DefaultOptionsPooledContext : DbContext - { - public DefaultOptionsPooledContext(DbContextOptions options) - : base(options) - { - } - } + private class DefaultOptionsPooledContext(DbContextOptions options) : DbContext(options); private class PooledContext : DbContext, IPooledContext { @@ -200,13 +194,8 @@ public override void Dispose() } } - private class PooledContextWithOverrides : DbContext, IPooledContext + private class PooledContextWithOverrides(DbContextOptions options) : DbContext(options), IPooledContext { - public PooledContextWithOverrides(DbContextOptions options) - : base(options) - { - } - public DbSet Customers { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) @@ -236,15 +225,10 @@ private interface ISecondContext { } - private class SecondContext : DbContext, ISecondContext + private class SecondContext(DbContextOptions options) : DbContext(options), ISecondContext { public DbSet Blogs { get; set; } - public SecondContext(DbContextOptions options) - : base(options) - { - } - public class Blog { public int Id { get; set; } @@ -479,15 +463,9 @@ var serviceProvider Assert.Throws(() => scope.ServiceProvider.GetService()); } - private class TwoParameterConstructorContext : DbContext + private class TwoParameterConstructorContext(DbContextOptions options, string x) : DbContext(options) { - public string StringParameter { get; } - - public TwoParameterConstructorContext(DbContextOptions options, string x) - : base(options) - { - StringParameter = x; - } + public string StringParameter { get; } = x; } [ConditionalFact] @@ -502,13 +480,9 @@ var serviceProvider Assert.Throws(() => scope.ServiceProvider.GetService()); } - private class WrongParameterConstructorContext : DbContext - { - public WrongParameterConstructorContext(string x) - : base(new DbContextOptions()) - { - } - } +#pragma warning disable CS9113 // Parameter 'x' is unread + private class WrongParameterConstructorContext(string x) : DbContext(new DbContextOptions()); +#pragma warning restore CS9113 [ConditionalFact] public void Throws_when_pooled_context_constructor_has_scoped_service() diff --git a/test/EFCore.Jet.FunctionalTests/DesignTimeJetTest.cs b/test/EFCore.Jet.FunctionalTests/DesignTimeJetTest.cs index da38160b..2363b78f 100644 --- a/test/EFCore.Jet.FunctionalTests/DesignTimeJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/DesignTimeJetTest.cs @@ -10,13 +10,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class DesignTimeJetTest : DesignTimeTestBase +public class DesignTimeJetTest(DesignTimeJetTest.DesignTimeJetFixture fixture) + : DesignTimeTestBase(fixture) { - public DesignTimeJetTest(DesignTimeJetFixture fixture) - : base(fixture) - { - } - protected override Assembly ProviderAssembly => typeof(JetDesignTimeServices).Assembly; diff --git a/test/EFCore.Jet.FunctionalTests/EntitySplittingSqlServerTest.cs b/test/EFCore.Jet.FunctionalTests/EntitySplittingSqlServerTest.cs index 978a205c..7dd23287 100644 --- a/test/EFCore.Jet.FunctionalTests/EntitySplittingSqlServerTest.cs +++ b/test/EFCore.Jet.FunctionalTests/EntitySplittingSqlServerTest.cs @@ -12,13 +12,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class EntitySplittingSqlServerTest : EntitySplittingTestBase +public class EntitySplittingSqlServerTest(ITestOutputHelper testOutputHelper) + : EntitySplittingTestBase(testOutputHelper) { - public EntitySplittingSqlServerTest(ITestOutputHelper testOutputHelper) - : base(testOutputHelper) - { - } - public override async Task Can_roundtrip() { await base.Can_roundtrip(); diff --git a/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs b/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs index 8b406998..feb70d90 100644 --- a/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/EverythingIsStringsJetTest.cs @@ -17,14 +17,10 @@ #nullable disable namespace EntityFrameworkCore.Jet.FunctionalTests { - public class EverythingIsStringsJetTest : BuiltInDataTypesTestBase< - EverythingIsStringsJetTest.EverythingIsStringsJetFixture> + public class EverythingIsStringsJetTest(EverythingIsStringsJetTest.EverythingIsStringsJetFixture fixture) + : BuiltInDataTypesTestBase< + EverythingIsStringsJetTest.EverythingIsStringsJetFixture>(fixture) { - public EverythingIsStringsJetTest(EverythingIsStringsJetFixture fixture) - : base(fixture) - { - } - [ConditionalFact] public virtual void Columns_have_expected_data_types() { diff --git a/test/EFCore.Jet.FunctionalTests/ExecutionStrategyTest.cs b/test/EFCore.Jet.FunctionalTests/ExecutionStrategyTest.cs index 06afee98..a0e7fff5 100644 --- a/test/EFCore.Jet.FunctionalTests/ExecutionStrategyTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ExecutionStrategyTest.cs @@ -632,13 +632,8 @@ public void Verification_is_retried_using_same_retry_limit() } } - protected class ExecutionStrategyContext : DbContext + protected class ExecutionStrategyContext(DbContextOptions options) : DbContext(options) { - public ExecutionStrategyContext(DbContextOptions options) - : base(options) - { - } - public DbSet Products { get; set; } } diff --git a/test/EFCore.Jet.FunctionalTests/FieldMappingJetTest.cs b/test/EFCore.Jet.FunctionalTests/FieldMappingJetTest.cs index ca4ec88b..4bf4ef4c 100644 --- a/test/EFCore.Jet.FunctionalTests/FieldMappingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/FieldMappingJetTest.cs @@ -8,13 +8,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class FieldMappingJetTest : FieldMappingTestBase + public class FieldMappingJetTest(FieldMappingJetTest.FieldMappingJetFixture fixture) + : FieldMappingTestBase(fixture) { - public FieldMappingJetTest(FieldMappingJetFixture fixture) - : base(fixture) - { - } - protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) => facade.UseTransaction(transaction.GetDbTransaction()); diff --git a/test/EFCore.Jet.FunctionalTests/FieldsOnlyLoadJetTest.cs b/test/EFCore.Jet.FunctionalTests/FieldsOnlyLoadJetTest.cs index b007a4fb..86fb1544 100644 --- a/test/EFCore.Jet.FunctionalTests/FieldsOnlyLoadJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/FieldsOnlyLoadJetTest.cs @@ -7,13 +7,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class FieldsOnlyLoadJetTest : FieldsOnlyLoadTestBase +public class FieldsOnlyLoadJetTest(FieldsOnlyLoadJetTest.FieldsOnlyLoadJetFixture fixture) + : FieldsOnlyLoadTestBase(fixture) { - public FieldsOnlyLoadJetTest(FieldsOnlyLoadJetFixture fixture) - : base(fixture) - { - } - public class FieldsOnlyLoadJetFixture : FieldsOnlyLoadFixtureBase { protected override ITestStoreFactory TestStoreFactory diff --git a/test/EFCore.Jet.FunctionalTests/FindJetTest.cs b/test/EFCore.Jet.FunctionalTests/FindJetTest.cs index 4fb46996..e91a0c68 100644 --- a/test/EFCore.Jet.FunctionalTests/FindJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/FindJetTest.cs @@ -16,33 +16,18 @@ protected FindJetTest(FindJetFixture fixture) fixture.TestSqlLoggerFactory.Clear(); } - public class FindJetTestSet : FindJetTest + public class FindJetTestSet(FindJetFixture fixture) : FindJetTest(fixture) { - public FindJetTestSet(FindJetFixture fixture) - : base(fixture) - { - } - protected override TestFinder Finder { get; } = new FindViaSetFinder(); } - public class FindJetTestContext : FindJetTest + public class FindJetTestContext(FindJetFixture fixture) : FindJetTest(fixture) { - public FindJetTestContext(FindJetFixture fixture) - : base(fixture) - { - } - protected override TestFinder Finder { get; } = new FindViaContextFinder(); } - public class FindJetTestNonGeneric : FindJetTest + public class FindJetTestNonGeneric(FindJetFixture fixture) : FindJetTest(fixture) { - public FindJetTestNonGeneric(FindJetFixture fixture) - : base(fixture) - { - } - protected override TestFinder Finder { get; } = new FindViaNonGenericContextFinder(); } diff --git a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt index 98ecbab4..57f0751b 100644 --- a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt +++ b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt @@ -1,3 +1,4 @@ +EntityFrameworkCore.Jet.FunctionalTests.BatchingTest.Deadlock_on_deletes_with_dependents_is_handled_correctly EntityFrameworkCore.Jet.FunctionalTests.BatchingTest.Deadlock_on_inserts_and_deletes_with_dependents_is_handled_correctly EntityFrameworkCore.Jet.FunctionalTests.BatchingTest.Insertion_order_is_preserved(maxBatchSize: 1) EntityFrameworkCore.Jet.FunctionalTests.BatchingTest.Insertion_order_is_preserved(maxBatchSize: 100) @@ -20345,6 +20346,7 @@ EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_conte EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_EntityType_injected EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_EntityType_injected_into_constructor_with_property EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_EntityType_injected_into_property +EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_keyless_type EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_loader_delegate_injected_for_collections_async EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_loader_delegate_injected_for_reference_async EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_loader_delegate_injected_into_property_for_collections_async diff --git a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt index b2af0390..9b3f5f16 100644 --- a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt +++ b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt @@ -24014,6 +24014,7 @@ EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_conte EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_EntityType_injected EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_EntityType_injected_into_constructor_with_property EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_EntityType_injected_into_property +EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_keyless_type EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_loader_delegate_injected_for_collections_async EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_loader_delegate_injected_for_reference_async EntityFrameworkCore.Jet.FunctionalTests.WithConstructorsJetTest.Query_with_loader_delegate_injected_into_property_for_collections_async diff --git a/test/EFCore.Jet.FunctionalTests/JetMigrationsSqlGeneratorTest.cs b/test/EFCore.Jet.FunctionalTests/JetMigrationsSqlGeneratorTest.cs index 40e7ca52..9f902b98 100644 --- a/test/EFCore.Jet.FunctionalTests/JetMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.Jet.FunctionalTests/JetMigrationsSqlGeneratorTest.cs @@ -21,7 +21,12 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { //Idempotent is ignored - public class JetMigrationsSqlGeneratorTest : MigrationsSqlGeneratorTestBase + public class JetMigrationsSqlGeneratorTest() : MigrationsSqlGeneratorTestBase(JetTestHelpers.Instance, + new ServiceCollection(), + JetTestHelpers.Instance.AddProviderOptions( + ((IRelationalDbContextOptionsBuilderInfrastructure) + new JetDbContextOptionsBuilder(new DbContextOptionsBuilder())) + .OptionsBuilder).Options) { [ConditionalFact] public virtual void AddColumnOperation_identity_legacy() @@ -971,15 +976,7 @@ public virtual void AddColumnOperation_datetime_with_defaultValue_sql() "); } - public JetMigrationsSqlGeneratorTest() - : base( - JetTestHelpers.Instance, - new ServiceCollection()/*.AddEntityFrameworkJetNetTopologySuite()*/, - JetTestHelpers.Instance.AddProviderOptions( - ((IRelationalDbContextOptionsBuilderInfrastructure) - new JetDbContextOptionsBuilder(new DbContextOptionsBuilder())/*.UseNetTopologySuite()*/) - .OptionsBuilder).Options) - { - } + /*.AddEntityFrameworkJetNetTopologySuite()*/ + /*.UseNetTopologySuite()*/ } } diff --git a/test/EFCore.Jet.FunctionalTests/JetServiceCollectionExtensionsTest.cs b/test/EFCore.Jet.FunctionalTests/JetServiceCollectionExtensionsTest.cs index d9ff2881..39e6333c 100644 --- a/test/EFCore.Jet.FunctionalTests/JetServiceCollectionExtensionsTest.cs +++ b/test/EFCore.Jet.FunctionalTests/JetServiceCollectionExtensionsTest.cs @@ -6,11 +6,6 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class JetServiceCollectionExtensionsTest : RelationalServiceCollectionExtensionsTestBase - { - public JetServiceCollectionExtensionsTest() - : base(JetTestHelpers.Instance) - { - } - } + public class JetServiceCollectionExtensionsTest() + : RelationalServiceCollectionExtensionsTestBase(JetTestHelpers.Instance); } diff --git a/test/EFCore.Jet.FunctionalTests/JetValueGenerationScenariosTestBase.cs b/test/EFCore.Jet.FunctionalTests/JetValueGenerationScenariosTestBase.cs index aa2d0755..9c2815a0 100644 --- a/test/EFCore.Jet.FunctionalTests/JetValueGenerationScenariosTestBase.cs +++ b/test/EFCore.Jet.FunctionalTests/JetValueGenerationScenariosTestBase.cs @@ -1537,17 +1537,8 @@ protected virtual void OnModelCreating(ModelBuilder modelBuilder) v => new NeedsConverter(v.Value))) .HasDefaultValue(new NeedsConverter(999)); - public abstract class ContextBase : DbContext + public abstract class ContextBase(string databaseName, Action builder) : DbContext { - private readonly string _databaseName; - private readonly Action _modelBuilder; - - protected ContextBase(string databaseName, Action modelBuilder) - { - _databaseName = databaseName; - _modelBuilder = modelBuilder; - } - public DbSet Blogs { get; set; } //public DbSet SpatialBlogs { get; set; } public DbSet NullableKeyBlogs { get; set; } @@ -1556,13 +1547,13 @@ protected ContextBase(string databaseName, Action modelBuilder) public DbSet ConcurrentBlogs { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) - => _modelBuilder(modelBuilder); + => builder(modelBuilder); protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder .EnableServiceProviderCaching(false) .UseJet( - JetTestStore.CreateConnectionString(_databaseName), + JetTestStore.CreateConnectionString(databaseName), b => b.ApplyConfiguration()); } diff --git a/test/EFCore.Jet.FunctionalTests/KeysWithConvertersJetTest.cs b/test/EFCore.Jet.FunctionalTests/KeysWithConvertersJetTest.cs index ed620817..a963bcaf 100644 --- a/test/EFCore.Jet.FunctionalTests/KeysWithConvertersJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/KeysWithConvertersJetTest.cs @@ -7,14 +7,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class KeysWithConvertersJetTest : KeysWithConvertersTestBase< - KeysWithConvertersJetTest.KeysWithConvertersJetFixture> +public class KeysWithConvertersJetTest(KeysWithConvertersJetTest.KeysWithConvertersJetFixture fixture) + : KeysWithConvertersTestBase< + KeysWithConvertersJetTest.KeysWithConvertersJetFixture>(fixture) { - public KeysWithConvertersJetTest(KeysWithConvertersJetFixture fixture) - : base(fixture) - { - } - public class KeysWithConvertersJetFixture : KeysWithConvertersFixtureBase { protected override ITestStoreFactory TestStoreFactory diff --git a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingGeneratedKeysSqlServerTest.cs b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingGeneratedKeysSqlServerTest.cs index 8dc0ca78..18db6d98 100644 --- a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingGeneratedKeysSqlServerTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingGeneratedKeysSqlServerTest.cs @@ -6,14 +6,11 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class ManyToManyTrackingGeneratedKeysJetTest - : ManyToManyTrackingJetTestBase +public class ManyToManyTrackingGeneratedKeysJetTest( + ManyToManyTrackingGeneratedKeysJetTest.ManyToManyTrackingGeneratedKeysJetFixture fixture) + : ManyToManyTrackingJetTestBase( + fixture) { - public ManyToManyTrackingGeneratedKeysJetTest(ManyToManyTrackingGeneratedKeysJetFixture fixture) - : base(fixture) - { - } - public class ManyToManyTrackingGeneratedKeysJetFixture : ManyToManyTrackingJetFixtureBase { protected override string StoreName diff --git a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTest.cs b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTest.cs index 3dc8a568..41a925c5 100644 --- a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTest.cs @@ -5,14 +5,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class ManyToManyTrackingJetTest - : ManyToManyTrackingJetTestBase +public class ManyToManyTrackingJetTest(ManyToManyTrackingJetTest.ManyToManyTrackingJetFixture fixture) + : ManyToManyTrackingJetTestBase(fixture) { - public ManyToManyTrackingJetTest(ManyToManyTrackingJetFixture fixture) - : base(fixture) - { - } - public class ManyToManyTrackingJetFixture : ManyToManyTrackingJetFixtureBase { protected override string StoreName diff --git a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTestBase.cs b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTestBase.cs index 45154244..2bc5b306 100644 --- a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTestBase.cs +++ b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingJetTestBase.cs @@ -9,14 +9,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public abstract class ManyToManyTrackingJetTestBase : ManyToManyTrackingRelationalTestBase +public abstract class ManyToManyTrackingJetTestBase(TFixture fixture) + : ManyToManyTrackingRelationalTestBase(fixture) where TFixture : ManyToManyTrackingJetTestBase.ManyToManyTrackingJetFixtureBase { - protected ManyToManyTrackingJetTestBase(TFixture fixture) - : base(fixture) - { - } - protected override Dictionary CustomDeleteBehaviors { get; } = new() { { "EntityBranch.RootSkipShared", DeleteBehavior.ClientCascade }, diff --git a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyGeneratedKeysJetTest.cs b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyGeneratedKeysJetTest.cs index a978f80f..fea7096e 100644 --- a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyGeneratedKeysJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyGeneratedKeysJetTest.cs @@ -9,15 +9,11 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class ManyToManyTrackingProxyGeneratedKeysJetTest +public class ManyToManyTrackingProxyGeneratedKeysJetTest( + ManyToManyTrackingProxyGeneratedKeysJetTest.ManyToManyTrackingProxyGeneratedKeysJetFixture fixture) : ManyToManyTrackingJetTestBase< - ManyToManyTrackingProxyGeneratedKeysJetTest.ManyToManyTrackingProxyGeneratedKeysJetFixture> + ManyToManyTrackingProxyGeneratedKeysJetTest.ManyToManyTrackingProxyGeneratedKeysJetFixture>(fixture) { - public ManyToManyTrackingProxyGeneratedKeysJetTest(ManyToManyTrackingProxyGeneratedKeysJetFixture fixture) - : base(fixture) - { - } - public override Task Can_insert_many_to_many_shared_with_payload(bool async) // Mutable properties aren't proxyable on Dictionary => Task.CompletedTask; diff --git a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyJetTest.cs b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyJetTest.cs index 8567bac6..d442540d 100644 --- a/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ManyToManyTrackingProxyJetTest.cs @@ -9,14 +9,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class ManyToManyTrackingProxyJetTest - : ManyToManyTrackingJetTestBase +public class ManyToManyTrackingProxyJetTest(ManyToManyTrackingProxyJetTest.ManyToManyTrackingProxyJetFixture fixture) + : ManyToManyTrackingJetTestBase(fixture) { - public ManyToManyTrackingProxyJetTest(ManyToManyTrackingProxyJetFixture fixture) - : base(fixture) - { - } - protected override Dictionary CustomDeleteBehaviors { get; } = new() { { "EntityBranch.RootSkipShared", DeleteBehavior.ClientCascade }, diff --git a/test/EFCore.Jet.FunctionalTests/Migrations/MigrationsInfrastructureJetTest.cs b/test/EFCore.Jet.FunctionalTests/Migrations/MigrationsInfrastructureJetTest.cs index b27a766c..35c8db20 100644 --- a/test/EFCore.Jet.FunctionalTests/Migrations/MigrationsInfrastructureJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Migrations/MigrationsInfrastructureJetTest.cs @@ -292,13 +292,8 @@ public override void Can_apply_all_migrations() // Issue efcore #33331 public override Task Can_apply_all_migrations_async() // Issue efcore #33331 => Assert.ThrowsAnyAsync(() => base.Can_apply_all_migrations_async()); - private class BloggingContext : DbContext + private class BloggingContext(DbContextOptions options) : DbContext(options) { - public BloggingContext(DbContextOptions options) - : base(options) - { - } - // ReSharper disable once UnusedMember.Local public DbSet Blogs { get; set; } diff --git a/test/EFCore.Jet.FunctionalTests/MonsterFixupChangedChangingJetTest.cs b/test/EFCore.Jet.FunctionalTests/MonsterFixupChangedChangingJetTest.cs index 55821be1..37fc4af7 100644 --- a/test/EFCore.Jet.FunctionalTests/MonsterFixupChangedChangingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/MonsterFixupChangedChangingJetTest.cs @@ -6,14 +6,11 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class MonsterFixupChangedChangingJetTest : - MonsterFixupTestBase + public class MonsterFixupChangedChangingJetTest( + MonsterFixupChangedChangingJetTest.MonsterFixupChangedChangingJetFixture fixture) + : + MonsterFixupTestBase(fixture) { - public MonsterFixupChangedChangingJetTest(MonsterFixupChangedChangingJetFixture fixture) - : base(fixture) - { - } - public class MonsterFixupChangedChangingJetFixture : MonsterFixupChangedChangingFixtureBase { protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/MusicStoreJetTest.cs b/test/EFCore.Jet.FunctionalTests/MusicStoreJetTest.cs index c0900d92..b918bec1 100644 --- a/test/EFCore.Jet.FunctionalTests/MusicStoreJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/MusicStoreJetTest.cs @@ -6,13 +6,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class MusicStoreJetTest : MusicStoreTestBase + public class MusicStoreJetTest(MusicStoreJetTest.MusicStoreJetFixture fixture) + : MusicStoreTestBase(fixture) { - public MusicStoreJetTest(MusicStoreJetFixture fixture) - : base(fixture) - { - } - public class MusicStoreJetFixture : MusicStoreFixtureBase { protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/NotificationEntitiesJetTest.cs b/test/EFCore.Jet.FunctionalTests/NotificationEntitiesJetTest.cs index a9acd4cf..7704a1fa 100644 --- a/test/EFCore.Jet.FunctionalTests/NotificationEntitiesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/NotificationEntitiesJetTest.cs @@ -6,14 +6,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class NotificationEntitiesJetTest - : NotificationEntitiesTestBase + public class NotificationEntitiesJetTest(NotificationEntitiesJetTest.NotificationEntitiesJetFixture fixture) + : NotificationEntitiesTestBase(fixture) { - public NotificationEntitiesJetTest(NotificationEntitiesJetFixture fixture) - : base(fixture) - { - } - public class NotificationEntitiesJetFixture : NotificationEntitiesFixtureBase { protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/OptimisticConcurrencyJetTest.cs b/test/EFCore.Jet.FunctionalTests/OptimisticConcurrencyJetTest.cs index bf98961b..3745cf89 100644 --- a/test/EFCore.Jet.FunctionalTests/OptimisticConcurrencyJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/OptimisticConcurrencyJetTest.cs @@ -11,31 +11,16 @@ // ReSharper disable InconsistentNaming namespace EntityFrameworkCore.Jet.FunctionalTests { - public class OptimisticConcurrencyULongJetTest : OptimisticConcurrencyJetTestBase - { - public OptimisticConcurrencyULongJetTest(F1ULongJetFixture fixture) - : base(fixture) - { - } - } + public class OptimisticConcurrencyULongJetTest(F1ULongJetFixture fixture) + : OptimisticConcurrencyJetTestBase(fixture); - public class OptimisticConcurrencyJetTest : OptimisticConcurrencyJetTestBase - { - public OptimisticConcurrencyJetTest(F1JetFixture fixture) - : base(fixture) - { - } - } + public class OptimisticConcurrencyJetTest(F1JetFixture fixture) + : OptimisticConcurrencyJetTestBase(fixture); - public abstract class OptimisticConcurrencyJetTestBase - : OptimisticConcurrencyRelationalTestBase + public abstract class OptimisticConcurrencyJetTestBase(TFixture fixture) + : OptimisticConcurrencyRelationalTestBase(fixture) where TFixture : F1RelationalFixture, new() { - protected OptimisticConcurrencyJetTestBase(TFixture fixture) - : base(fixture) - { - } - protected enum Mapping { Tph, diff --git a/test/EFCore.Jet.FunctionalTests/OverzealousInitializationJetTest.cs b/test/EFCore.Jet.FunctionalTests/OverzealousInitializationJetTest.cs index 3eebaad5..bb936efd 100644 --- a/test/EFCore.Jet.FunctionalTests/OverzealousInitializationJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/OverzealousInitializationJetTest.cs @@ -7,14 +7,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class OverzealousInitializationJetTest - : OverzealousInitializationTestBase +public class OverzealousInitializationJetTest( + OverzealousInitializationJetTest.OverzealousInitializationJetFixture fixture) + : OverzealousInitializationTestBase(fixture) { - public OverzealousInitializationJetTest(OverzealousInitializationJetFixture fixture) - : base(fixture) - { - } - public class OverzealousInitializationJetFixture : OverzealousInitializationFixtureBase { protected override ITestStoreFactory TestStoreFactory diff --git a/test/EFCore.Jet.FunctionalTests/PropertyValuesJetTest.cs b/test/EFCore.Jet.FunctionalTests/PropertyValuesJetTest.cs index 9a230154..bfe7ebbd 100644 --- a/test/EFCore.Jet.FunctionalTests/PropertyValuesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/PropertyValuesJetTest.cs @@ -6,13 +6,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class PropertyValuesJetTest : PropertyValuesTestBase + public class PropertyValuesJetTest(PropertyValuesJetTest.PropertyValuesJetFixture fixture) + : PropertyValuesTestBase(fixture) { - public PropertyValuesJetTest(PropertyValuesJetFixture fixture) - : base(fixture) - { - } - public class PropertyValuesJetFixture : PropertyValuesFixtureBase { protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/Query/NavigationTest.cs b/test/EFCore.Jet.FunctionalTests/Query/NavigationTest.cs index edd7a1a1..08eeeec1 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/NavigationTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/NavigationTest.cs @@ -14,12 +14,12 @@ // ReSharper disable InconsistentNaming namespace EntityFrameworkCore.Jet.FunctionalTests.Query { - public class NavigationTest : IClassFixture + public class NavigationTest(NavigationTestFixture fixture) : IClassFixture { [ConditionalFact] public void Duplicate_entries_are_not_created_for_navigations_to_principal() { - using var context = _fixture.CreateContext(); + using var context = fixture.CreateContext(); context.ConfigAction = modelBuilder => { modelBuilder.Entity().HasMany(p => p.Siblings).WithOne(p => p.SiblingReverse).IsRequired(false); @@ -42,7 +42,7 @@ public void Duplicate_entries_are_not_created_for_navigations_to_principal() [ConditionalFact] public void Duplicate_entries_are_not_created_for_navigations_to_dependent() { - using var context = _fixture.CreateContext(); + using var context = fixture.CreateContext(); context.ConfigAction = modelBuilder => { modelBuilder.Entity().HasOne(p => p.SiblingReverse).WithMany(p => p.Siblings).IsRequired(false); @@ -61,10 +61,6 @@ public void Duplicate_entries_are_not_created_for_navigations_to_dependent() "ForeignKey: GoTPerson {'SiblingReverseId'} -> GoTPerson {'Id'} ClientSetNull ToDependent: Siblings ToPrincipal: SiblingReverse", entityType.GetForeignKeys().Skip(1).First().ToString()); } - - private readonly NavigationTestFixture _fixture; - - public NavigationTest(NavigationTestFixture fixture) => _fixture = fixture; } public class GoTPerson @@ -78,13 +74,8 @@ public class GoTPerson public GoTPerson SiblingReverse { get; set; } } - public class GoTContext : DbContext + public class GoTContext(DbContextOptions options) : DbContext(options) { - public GoTContext(DbContextOptions options) - : base(options) - { - } - public DbSet People { get; set; } public Func ConfigAction { get; set; } diff --git a/test/EFCore.Jet.FunctionalTests/Query/NullKeysJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/NullKeysJetTest.cs index 39fdd68f..15880eaf 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/NullKeysJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/NullKeysJetTest.cs @@ -6,13 +6,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query { - public class NullKeysJetTest : NullKeysTestBase + public class NullKeysJetTest(NullKeysJetTest.NullKeysJetFixture fixture) + : NullKeysTestBase(fixture) { - public NullKeysJetTest(NullKeysJetFixture fixture) - : base(fixture) - { - } - public class NullKeysJetFixture : NullKeysFixtureBase { protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/Query/QueryNoClientEvalJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/QueryNoClientEvalJetTest.cs index 01039fa5..5cc02909 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/QueryNoClientEvalJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/QueryNoClientEvalJetTest.cs @@ -5,11 +5,6 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query { - public class QueryNoClientEvalJetTest : QueryNoClientEvalTestBase> - { - public QueryNoClientEvalJetTest(NorthwindQueryJetFixture fixture) - : base(fixture) - { - } - } + public class QueryNoClientEvalJetTest(NorthwindQueryJetFixture fixture) + : QueryNoClientEvalTestBase>(fixture); } diff --git a/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTest.cs index 821b0238..d35f3f6a 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTest.cs @@ -8,10 +8,5 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query; -public class TPCInheritanceQueryJetTest : TPCInheritanceQueryJetTestBase -{ - public TPCInheritanceQueryJetTest(TPCInheritanceQueryJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } -} +public class TPCInheritanceQueryJetTest(TPCInheritanceQueryJetFixture fixture, ITestOutputHelper testOutputHelper) + : TPCInheritanceQueryJetTestBase(fixture, testOutputHelper); diff --git a/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTestBase.cs b/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTestBase.cs index 11cf72f0..f9a8832a 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTestBase.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/TPCInheritanceQueryJetTestBase.cs @@ -9,14 +9,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query; -public abstract class TPCInheritanceQueryJetTestBase : TPCInheritanceQueryTestBase +public abstract class TPCInheritanceQueryJetTestBase(TFixture fixture, ITestOutputHelper testOutputHelper) + : TPCInheritanceQueryTestBase(fixture, testOutputHelper) where TFixture : TPCInheritanceQueryJetFixtureBase, new() { - protected TPCInheritanceQueryJetTestBase(TFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType().BaseType!); diff --git a/test/EFCore.Jet.FunctionalTests/Query/TPHInheritanceQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/TPHInheritanceQueryJetTest.cs index caf3e84f..c9ca5d14 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/TPHInheritanceQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/TPHInheritanceQueryJetTest.cs @@ -13,13 +13,9 @@ // ReSharper disable InconsistentNaming namespace EntityFrameworkCore.Jet.FunctionalTests.Query; -public class TPHInheritanceQueryJetTest : TPHInheritanceQueryTestBase +public class TPHInheritanceQueryJetTest(TPHInheritanceQueryJetFixture fixture, ITestOutputHelper testOutputHelper) + : TPHInheritanceQueryTestBase(fixture, testOutputHelper) { - public TPHInheritanceQueryJetTest(TPHInheritanceQueryJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Jet.FunctionalTests/Query/TPTInheritanceQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/TPTInheritanceQueryJetTest.cs index c468283b..374917c9 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/TPTInheritanceQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/TPTInheritanceQueryJetTest.cs @@ -12,13 +12,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query; -public class TPTInheritanceQueryJetTest : TPTInheritanceQueryTestBase +public class TPTInheritanceQueryJetTest(TPTInheritanceQueryJetFixture fixture, ITestOutputHelper testOutputHelper) + : TPTInheritanceQueryTestBase(fixture, testOutputHelper) { - public TPTInheritanceQueryJetTest(TPTInheritanceQueryJetFixture fixture, ITestOutputHelper testOutputHelper) - : base(fixture, testOutputHelper) - { - } - [ConditionalFact] public virtual void Check_all_tests_overridden() => TestHelpers.AssertAllMethodsOverridden(GetType()); diff --git a/test/EFCore.Jet.FunctionalTests/Query/WarningsJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/WarningsJetTest.cs index 90bc91de..b1717473 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/WarningsJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/WarningsJetTest.cs @@ -5,11 +5,6 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query { - public class WarningsJetTest : WarningsTestBase> - { - public WarningsJetTest(NorthwindQueryJetFixture fixture) - : base(fixture) - { - } - } + public class WarningsJetTest(NorthwindQueryJetFixture fixture) + : WarningsTestBase>(fixture); } diff --git a/test/EFCore.Jet.FunctionalTests/QueryExpressionInterceptionJetTestBase.cs b/test/EFCore.Jet.FunctionalTests/QueryExpressionInterceptionJetTestBase.cs index 3bd69915..75263e6a 100644 --- a/test/EFCore.Jet.FunctionalTests/QueryExpressionInterceptionJetTestBase.cs +++ b/test/EFCore.Jet.FunctionalTests/QueryExpressionInterceptionJetTestBase.cs @@ -13,13 +13,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public abstract class QueryExpressionInterceptionJetTestBase : QueryExpressionInterceptionTestBase +public abstract class QueryExpressionInterceptionJetTestBase( + QueryExpressionInterceptionJetTestBase.InterceptionJetFixtureBase fixture) + : QueryExpressionInterceptionTestBase(fixture) { - protected QueryExpressionInterceptionJetTestBase(InterceptionJetFixtureBase fixture) - : base(fixture) - { - } - public abstract class InterceptionJetFixtureBase : InterceptionFixtureBase { protected override ITestStoreFactory TestStoreFactory @@ -38,14 +35,10 @@ public override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder build } } - public class QueryExpressionInterceptionJetTest - : QueryExpressionInterceptionJetTestBase, IClassFixture + public class QueryExpressionInterceptionJetTest(QueryExpressionInterceptionJetTest.InterceptionJetFixture fixture) + : QueryExpressionInterceptionJetTestBase(fixture), + IClassFixture { - public QueryExpressionInterceptionJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override string StoreName @@ -56,15 +49,11 @@ protected override bool ShouldSubscribeToDiagnosticListener } } - public class QueryExpressionInterceptionWithDiagnosticsJetTest - : QueryExpressionInterceptionJetTestBase, + public class QueryExpressionInterceptionWithDiagnosticsJetTest( + QueryExpressionInterceptionWithDiagnosticsJetTest.InterceptionJetFixture fixture) + : QueryExpressionInterceptionJetTestBase(fixture), IClassFixture { - public QueryExpressionInterceptionWithDiagnosticsJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override string StoreName diff --git a/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs b/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs index 5a6039f7..ec01631e 100644 --- a/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/SeedingJetTest.cs @@ -20,13 +20,8 @@ protected override SeedingContext CreateContextWithEmptyDatabase(string testId) protected override TestStore TestStore => JetTestStore.Create("SeedingTest"); - protected class SeedingJetContext : SeedingContext + protected class SeedingJetContext(string testId) : SeedingContext(testId) { - public SeedingJetContext(string testId) - : base(testId) - { - } - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseJet(JetTestStore.CreateConnectionString($"Seeds{TestId}"), TestEnvironment.DataAccessProviderFactory); } diff --git a/test/EFCore.Jet.FunctionalTests/SerializationJetTest.cs b/test/EFCore.Jet.FunctionalTests/SerializationJetTest.cs index 03f1b59e..eebb6fec 100644 --- a/test/EFCore.Jet.FunctionalTests/SerializationJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/SerializationJetTest.cs @@ -5,10 +5,4 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class SerializationJetTest : SerializationTestBase -{ - public SerializationJetTest(F1JetFixture fixture) - : base(fixture) - { - } -} +public class SerializationJetTest(F1JetFixture fixture) : SerializationTestBase(fixture); diff --git a/test/EFCore.Jet.FunctionalTests/StoreGeneratedJetTest.cs b/test/EFCore.Jet.FunctionalTests/StoreGeneratedJetTest.cs index 7c7beada..4cbd844d 100644 --- a/test/EFCore.Jet.FunctionalTests/StoreGeneratedJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/StoreGeneratedJetTest.cs @@ -14,13 +14,9 @@ // ReSharper disable InconsistentNaming namespace EntityFrameworkCore.Jet.FunctionalTests { - public class StoreGeneratedJetTest : StoreGeneratedJetTestBase + public class StoreGeneratedJetTest(StoreGeneratedJetTest.StoreGeneratedJetFixture fixture) + : StoreGeneratedJetTestBase(fixture) { - public StoreGeneratedJetTest(StoreGeneratedJetFixture fixture) - : base(fixture) - { - } - public class StoreGeneratedJetFixture : StoreGeneratedJetFixtureBase { protected override string StoreName diff --git a/test/EFCore.Jet.FunctionalTests/StoreGeneratedSqlServerTestBase.cs b/test/EFCore.Jet.FunctionalTests/StoreGeneratedSqlServerTestBase.cs index ced2fd51..da206c28 100644 --- a/test/EFCore.Jet.FunctionalTests/StoreGeneratedSqlServerTestBase.cs +++ b/test/EFCore.Jet.FunctionalTests/StoreGeneratedSqlServerTestBase.cs @@ -19,39 +19,21 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public abstract class StoreGeneratedJetTestBase : StoreGeneratedTestBase +public abstract class StoreGeneratedJetTestBase(TFixture fixture) : StoreGeneratedTestBase(fixture) where TFixture : StoreGeneratedJetTestBase.StoreGeneratedJetFixtureBase, new() { - protected StoreGeneratedJetTestBase(TFixture fixture) - : base(fixture) - { - } - public class WrappedIntHiLoClass { public int Value { get; set; } } - protected class WrappedIntHiLoClassConverter : ValueConverter - { - public WrappedIntHiLoClassConverter() - : base( - v => v.Value, - v => new WrappedIntHiLoClass { Value = v }) - { - } - } + protected class WrappedIntHiLoClassConverter() : ValueConverter(v => v.Value, + v => new WrappedIntHiLoClass { Value = v }); - protected class WrappedIntHiLoClassComparer : ValueComparer - { - public WrappedIntHiLoClassComparer() - : base( - (v1, v2) => (v1 == null && v2 == null) || (v1 != null && v2 != null && v1.Value.Equals(v2.Value)), - v => v != null ? v.Value : 0, - v => v == null ? null : new WrappedIntHiLoClass { Value = v.Value }) - { - } - } + protected class WrappedIntHiLoClassComparer() : ValueComparer( + (v1, v2) => (v1 == null && v2 == null) || (v1 != null && v2 != null && v1.Value.Equals(v2.Value)), + v => v != null ? v.Value : 0, + v => v == null ? null : new WrappedIntHiLoClass { Value = v.Value }); protected class WrappedIntHiLoClassValueGenerator : ValueGenerator { @@ -67,15 +49,8 @@ public struct WrappedIntHiLoStruct public int Value { get; set; } } - protected class WrappedIntHiLoStructConverter : ValueConverter - { - public WrappedIntHiLoStructConverter() - : base( - v => v.Value, - v => new WrappedIntHiLoStruct { Value = v }) - { - } - } + protected class WrappedIntHiLoStructConverter() : ValueConverter(v => v.Value, + v => new WrappedIntHiLoStruct { Value = v }); protected class WrappedIntHiLoStructValueGenerator : ValueGenerator { @@ -91,15 +66,8 @@ public record WrappedIntHiLoRecord public int Value { get; set; } } - protected class WrappedIntHiLoRecordConverter : ValueConverter - { - public WrappedIntHiLoRecordConverter() - : base( - v => v.Value, - v => new WrappedIntHiLoRecord { Value = v }) - { - } - } + protected class WrappedIntHiLoRecordConverter() : ValueConverter(v => v.Value, + v => new WrappedIntHiLoRecord { Value = v }); protected class WrappedIntHiLoRecordValueGenerator : ValueGenerator { @@ -115,26 +83,13 @@ public class WrappedIntHiLoKeyClass public int Value { get; set; } } - protected class WrappedIntHiLoKeyClassConverter : ValueConverter - { - public WrappedIntHiLoKeyClassConverter() - : base( - v => v.Value, - v => new WrappedIntHiLoKeyClass { Value = v }) - { - } - } + protected class WrappedIntHiLoKeyClassConverter() : ValueConverter(v => v.Value, + v => new WrappedIntHiLoKeyClass { Value = v }); - protected class WrappedIntHiLoKeyClassComparer : ValueComparer - { - public WrappedIntHiLoKeyClassComparer() - : base( - (v1, v2) => (v1 == null && v2 == null) || (v1 != null && v2 != null && v1.Value.Equals(v2.Value)), - v => v != null ? v.Value : 0, - v => v == null ? null : new WrappedIntHiLoKeyClass { Value = v.Value }) - { - } - } + protected class WrappedIntHiLoKeyClassComparer() : ValueComparer( + (v1, v2) => (v1 == null && v2 == null) || (v1 != null && v2 != null && v1.Value.Equals(v2.Value)), + v => v != null ? v.Value : 0, + v => v == null ? null : new WrappedIntHiLoKeyClass { Value = v.Value }); public struct WrappedIntHiLoKeyStruct { @@ -153,30 +108,16 @@ public override int GetHashCode() => !left.Equals(right); } - protected class WrappedIntHiLoKeyStructConverter : ValueConverter - { - public WrappedIntHiLoKeyStructConverter() - : base( - v => v.Value, - v => new WrappedIntHiLoKeyStruct { Value = v }) - { - } - } + protected class WrappedIntHiLoKeyStructConverter() : ValueConverter(v => v.Value, + v => new WrappedIntHiLoKeyStruct { Value = v }); public record WrappedIntHiLoKeyRecord { public int Value { get; set; } } - protected class WrappedIntHiLoKeyRecordConverter : ValueConverter - { - public WrappedIntHiLoKeyRecordConverter() - : base( - v => v.Value, - v => new WrappedIntHiLoKeyRecord { Value = v }) - { - } - } + protected class WrappedIntHiLoKeyRecordConverter() : ValueConverter(v => v.Value, + v => new WrappedIntHiLoKeyRecord { Value = v }); protected class WrappedIntHiLoClassPrincipal { diff --git a/test/EFCore.Jet.FunctionalTests/TPTTableSplittingJetTest.cs b/test/EFCore.Jet.FunctionalTests/TPTTableSplittingJetTest.cs index c3a2a556..70f627dd 100644 --- a/test/EFCore.Jet.FunctionalTests/TPTTableSplittingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TPTTableSplittingJetTest.cs @@ -9,13 +9,8 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class TPTTableSplittingJetTest : TPTTableSplittingTestBase +public class TPTTableSplittingJetTest(ITestOutputHelper testOutputHelper) : TPTTableSplittingTestBase(testOutputHelper) { - public TPTTableSplittingJetTest(ITestOutputHelper testOutputHelper) - : base(testOutputHelper) - { - } - protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; diff --git a/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs b/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs index 30167e2d..2f7bd570 100644 --- a/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TableSplittingJetTest.cs @@ -9,13 +9,8 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class TableSplittingJetTest : TableSplittingTestBase + public class TableSplittingJetTest(ITestOutputHelper testOutputHelper) : TableSplittingTestBase(testOutputHelper) { - public TableSplittingJetTest(ITestOutputHelper testOutputHelper) - : base(testOutputHelper) - { - } - protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance; public override async Task Can_use_with_redundant_relationships() diff --git a/test/EFCore.Jet.FunctionalTests/TestModels/Northwind/NorthwindJetContext.cs b/test/EFCore.Jet.FunctionalTests/TestModels/Northwind/NorthwindJetContext.cs index fdb424bf..35828d85 100644 --- a/test/EFCore.Jet.FunctionalTests/TestModels/Northwind/NorthwindJetContext.cs +++ b/test/EFCore.Jet.FunctionalTests/TestModels/Northwind/NorthwindJetContext.cs @@ -8,13 +8,8 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestModels.Northwind { - public class NorthwindJetContext : NorthwindRelationalContext + public class NorthwindJetContext(DbContextOptions options) : NorthwindRelationalContext(options) { - public NorthwindJetContext(DbContextOptions options) - : base(options) - { - } - protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); diff --git a/test/EFCore.Jet.FunctionalTests/TestUtilities/JetConditionAttribute.cs b/test/EFCore.Jet.FunctionalTests/TestUtilities/JetConditionAttribute.cs index 003cab2e..06e6da91 100644 --- a/test/EFCore.Jet.FunctionalTests/TestUtilities/JetConditionAttribute.cs +++ b/test/EFCore.Jet.FunctionalTests/TestUtilities/JetConditionAttribute.cs @@ -10,14 +10,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities { [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] - public sealed class JetConditionAttribute : Attribute, ITestCondition + public sealed class JetConditionAttribute(JetCondition conditions) : Attribute, ITestCondition { - public JetCondition Conditions { get; set; } - - public JetConditionAttribute(JetCondition conditions) - { - Conditions = conditions; - } + public JetCondition Conditions { get; set; } = conditions; public ValueTask IsMetAsync() { diff --git a/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalCommandBuilderFactory.cs b/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalCommandBuilderFactory.cs index 8cda4539..c9f60d36 100644 --- a/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalCommandBuilderFactory.cs +++ b/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalCommandBuilderFactory.cs @@ -12,32 +12,22 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities { - public class TestRelationalCommandBuilderFactory : IRelationalCommandBuilderFactory + public class TestRelationalCommandBuilderFactory(RelationalCommandBuilderDependencies dependencies) + : IRelationalCommandBuilderFactory { - public TestRelationalCommandBuilderFactory( - RelationalCommandBuilderDependencies dependencies) - { - Dependencies = dependencies; - } - - public RelationalCommandBuilderDependencies Dependencies { get; } + public RelationalCommandBuilderDependencies Dependencies { get; } = dependencies; public virtual IRelationalCommandBuilder Create() => new TestRelationalCommandBuilder(Dependencies); - private class TestRelationalCommandBuilder : IRelationalCommandBuilder + private class TestRelationalCommandBuilder(RelationalCommandBuilderDependencies dependencies) + : IRelationalCommandBuilder { private readonly List _parameters = new List(); - public TestRelationalCommandBuilder( - RelationalCommandBuilderDependencies dependencies) - { - Dependencies = dependencies; - } - public IndentedStringBuilder Instance { get; } = new IndentedStringBuilder(); - public RelationalCommandBuilderDependencies Dependencies { get; } + public RelationalCommandBuilderDependencies Dependencies { get; } = dependencies; public IReadOnlyList Parameters => _parameters; diff --git a/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalTransaction.cs b/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalTransaction.cs index feddb304..1412000e 100644 --- a/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalTransaction.cs +++ b/test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalTransaction.cs @@ -11,14 +11,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities { - public class TestRelationalTransactionFactory : IRelationalTransactionFactory + public class TestRelationalTransactionFactory(RelationalTransactionFactoryDependencies dependencies) + : IRelationalTransactionFactory { - public TestRelationalTransactionFactory(RelationalTransactionFactoryDependencies dependencies) - { - Dependencies = dependencies; - } - - protected virtual RelationalTransactionFactoryDependencies Dependencies { get; } + protected virtual RelationalTransactionFactoryDependencies Dependencies { get; } = dependencies; public RelationalTransaction Create( IRelationalConnection connection, @@ -29,25 +25,18 @@ public RelationalTransaction Create( => new TestRelationalTransaction(connection, transaction, logger, transactionOwned, Dependencies.SqlGenerationHelper); } - public class TestRelationalTransaction : RelationalTransaction + public class TestRelationalTransaction( + IRelationalConnection connection, + DbTransaction transaction, + IDiagnosticsLogger logger, + bool transactionOwned, + ISqlGenerationHelper sqlGenerationHelper) + : RelationalTransaction(connection, transaction, new Guid(), logger, transactionOwned, sqlGenerationHelper) { - private readonly TestJetConnection _testConnection; - private readonly Func _createExceptionFunc; - - public TestRelationalTransaction( - IRelationalConnection connection, - DbTransaction transaction, - IDiagnosticsLogger logger, - bool transactionOwned, - ISqlGenerationHelper sqlGenerationHelper) - : base(connection, transaction, new Guid(), logger, transactionOwned, sqlGenerationHelper) - { - _testConnection = (TestJetConnection)connection; - - _createExceptionFunc = TestEnvironment.DataAccessProviderType == DataAccessProviderType.OleDb - ? OleDbExceptionFactory.CreateException - : OdbcExceptionFactory.CreateException; - } + private readonly TestJetConnection _testConnection = (TestJetConnection)connection; + private readonly Func _createExceptionFunc = TestEnvironment.DataAccessProviderType == DataAccessProviderType.OleDb + ? OleDbExceptionFactory.CreateException + : OdbcExceptionFactory.CreateException; public override void Commit() { diff --git a/test/EFCore.Jet.FunctionalTests/TpcManyToManyTrackingJetTest.cs b/test/EFCore.Jet.FunctionalTests/TpcManyToManyTrackingJetTest.cs index bedc5e8f..096b9e6a 100644 --- a/test/EFCore.Jet.FunctionalTests/TpcManyToManyTrackingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TpcManyToManyTrackingJetTest.cs @@ -7,14 +7,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class TpcManyToManyTrackingJetTest - : ManyToManyTrackingJetTestBase +public class TpcManyToManyTrackingJetTest(TpcManyToManyTrackingJetTest.TpcManyToManyTrackingJetFixture fixture) + : ManyToManyTrackingJetTestBase(fixture) { - public TpcManyToManyTrackingJetTest(TpcManyToManyTrackingJetFixture fixture) - : base(fixture) - { - } - public class TpcManyToManyTrackingJetFixture : ManyToManyTrackingJetFixtureBase { protected override string StoreName diff --git a/test/EFCore.Jet.FunctionalTests/TptManyToManyTrackingJetTest.cs b/test/EFCore.Jet.FunctionalTests/TptManyToManyTrackingJetTest.cs index 593b71b8..a209f176 100644 --- a/test/EFCore.Jet.FunctionalTests/TptManyToManyTrackingJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TptManyToManyTrackingJetTest.cs @@ -6,14 +6,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class TptManyToManyTrackingJetTest - : ManyToManyTrackingJetTestBase +public class TptManyToManyTrackingJetTest(TptManyToManyTrackingJetTest.TptManyToManyTrackingJetFixture fixture) + : ManyToManyTrackingJetTestBase(fixture) { - public TptManyToManyTrackingJetTest(TptManyToManyTrackingJetFixture fixture) - : base(fixture) - { - } - public class TptManyToManyTrackingJetFixture : ManyToManyTrackingJetFixtureBase { protected override string StoreName diff --git a/test/EFCore.Jet.FunctionalTests/TransactionInterceptionJetTest.cs b/test/EFCore.Jet.FunctionalTests/TransactionInterceptionJetTest.cs index 16a1d689..e12b0ba1 100644 --- a/test/EFCore.Jet.FunctionalTests/TransactionInterceptionJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TransactionInterceptionJetTest.cs @@ -11,13 +11,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public abstract class TransactionInterceptionJetTestBase : TransactionInterceptionTestBase + public abstract class TransactionInterceptionJetTestBase( + TransactionInterceptionJetTestBase.InterceptionJetFixtureBase fixture) + : TransactionInterceptionTestBase(fixture) { - protected TransactionInterceptionJetTestBase(InterceptionJetFixtureBase fixture) - : base(fixture) - { - } - [ConditionalTheory(Skip = "Jet does not support savepoints")] [InlineData(true)] [InlineData(false)] @@ -51,29 +48,21 @@ protected override IServiceCollection InjectInterceptors( => base.InjectInterceptors(serviceCollection.AddEntityFrameworkJet(), injectedInterceptors); } - public class TransactionInterceptionJetTest - : TransactionInterceptionJetTestBase, IClassFixture + public class TransactionInterceptionJetTest(TransactionInterceptionJetTest.InterceptionJetFixture fixture) + : TransactionInterceptionJetTestBase(fixture), + IClassFixture { - public TransactionInterceptionJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override bool ShouldSubscribeToDiagnosticListener => false; } } - public class TransactionInterceptionWithDiagnosticsJetTest - : TransactionInterceptionJetTestBase, + public class TransactionInterceptionWithDiagnosticsJetTest( + TransactionInterceptionWithDiagnosticsJetTest.InterceptionJetFixture fixture) + : TransactionInterceptionJetTestBase(fixture), IClassFixture { - public TransactionInterceptionWithDiagnosticsJetTest(InterceptionJetFixture fixture) - : base(fixture) - { - } - public class InterceptionJetFixture : InterceptionJetFixtureBase { protected override bool ShouldSubscribeToDiagnosticListener => true; diff --git a/test/EFCore.Jet.FunctionalTests/TransactionJetTest.cs b/test/EFCore.Jet.FunctionalTests/TransactionJetTest.cs index 62c36518..4dbabb47 100644 --- a/test/EFCore.Jet.FunctionalTests/TransactionJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/TransactionJetTest.cs @@ -10,13 +10,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class TransactionJetTest : TransactionTestBase + public class TransactionJetTest(TransactionJetTest.TransactionJetFixture fixture) + : TransactionTestBase(fixture) { - public TransactionJetTest(TransactionJetFixture fixture) - : base(fixture) - { - } - protected override bool SnapshotSupported => false; protected override bool AmbientTransactionsSupported => false; protected override bool DirtyReadsOccur => false; diff --git a/test/EFCore.Jet.FunctionalTests/ValueConvertersEndToEndJetTest.cs b/test/EFCore.Jet.FunctionalTests/ValueConvertersEndToEndJetTest.cs index 47782d1d..5d9de572 100644 --- a/test/EFCore.Jet.FunctionalTests/ValueConvertersEndToEndJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/ValueConvertersEndToEndJetTest.cs @@ -16,14 +16,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests; -public class ValueConvertersEndToEndJetTest - : ValueConvertersEndToEndTestBase +public class ValueConvertersEndToEndJetTest(ValueConvertersEndToEndJetTest.ValueConvertersEndToEndJetFixture fixture) + : ValueConvertersEndToEndTestBase(fixture) { - public ValueConvertersEndToEndJetTest(ValueConvertersEndToEndJetFixture fixture) - : base(fixture) - { - } - [ConditionalTheory] [InlineData(nameof(ConvertingEntity.BoolAsChar), "varchar(1)", false)] [InlineData(nameof(ConvertingEntity.BoolAsNullableChar), "varchar(1)", false)] @@ -197,13 +192,8 @@ private struct WrappedString public string Value { get; init; } } - private class WrappedStringToStringConverter : ValueConverter - { - public WrappedStringToStringConverter() - : base(v => v.Value, v => new WrappedString { Value = v }) - { - } - } + private class WrappedStringToStringConverter() + : ValueConverter(v => v.Value, v => new WrappedString { Value = v }); public class ValueConvertersEndToEndJetFixture : ValueConvertersEndToEndFixtureBase { diff --git a/test/EFCore.Jet.FunctionalTests/WithConstructorsJetTest.cs b/test/EFCore.Jet.FunctionalTests/WithConstructorsJetTest.cs index 7c56fc9c..042f6baf 100644 --- a/test/EFCore.Jet.FunctionalTests/WithConstructorsJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/WithConstructorsJetTest.cs @@ -9,17 +9,9 @@ namespace EntityFrameworkCore.Jet.FunctionalTests { - public class WithConstructorsJetTest : WithConstructorsTestBase + public class WithConstructorsJetTest(WithConstructorsJetTest.WithConstructorsJetFixture fixture) + : WithConstructorsTestBase(fixture) { - public WithConstructorsJetTest(WithConstructorsJetFixture fixture) - : base(fixture) - { - } - - [ConditionalFact(Skip = "Issue #16323")] - public override void Query_with_keyless_type() - => base.Query_with_keyless_type(); - protected override void UseTransaction(DatabaseFacade facade, IDbContextTransaction transaction) => facade.UseTransaction(transaction.GetDbTransaction()); diff --git a/test/EFCore.Jet.IntegrationTests/DefaultValueTest.cs b/test/EFCore.Jet.IntegrationTests/DefaultValueTest.cs index 9cbe419f..3f591880 100644 --- a/test/EFCore.Jet.IntegrationTests/DefaultValueTest.cs +++ b/test/EFCore.Jet.IntegrationTests/DefaultValueTest.cs @@ -42,12 +42,8 @@ protected override DbConnection GetConnection() } } - public class ChipsContext : DbContext + public class ChipsContext(DbContextOptions options) : DbContext(options) { - public ChipsContext(DbContextOptions options) : base(options) - { - } - public DbSet Chips { get; set; } public DbSet Chippers { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/GearOfWar/Model/GearsOfWarContext.cs b/test/EFCore.Jet.IntegrationTests/GearOfWar/Model/GearsOfWarContext.cs index 2ad7a5ae..656d27fd 100644 --- a/test/EFCore.Jet.IntegrationTests/GearOfWar/Model/GearsOfWarContext.cs +++ b/test/EFCore.Jet.IntegrationTests/GearOfWar/Model/GearsOfWarContext.cs @@ -7,15 +7,10 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.GearOfWar { - public class GearsOfWarContext : DbContext + public class GearsOfWarContext(DbContextOptions options) : DbContext(options) { public static readonly string StoreName = "GearsOfWar"; - public GearsOfWarContext(DbContextOptions options) - : base(options) - { - } - public DbSet Gears { get; set; } public DbSet Squads { get; set; } public DbSet Tags { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model01/Context.cs b/test/EFCore.Jet.IntegrationTests/Model01/Context.cs index 67296803..88ef1750 100644 --- a/test/EFCore.Jet.IntegrationTests/Model01/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model01/Context.cs @@ -3,14 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model01 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : - base(options) - { - } - public DbSet Students { get; set; } public DbSet Standards { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model02/Context.cs b/test/EFCore.Jet.IntegrationTests/Model02/Context.cs index edc99a61..246d835b 100644 --- a/test/EFCore.Jet.IntegrationTests/Model02/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model02/Context.cs @@ -3,14 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model02 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) - : base(options) - { - } - public DbSet TableWithSeveralFieldsTypes { get; set; } } } diff --git a/test/EFCore.Jet.IntegrationTests/Model04/CarsContext.cs b/test/EFCore.Jet.IntegrationTests/Model04/CarsContext.cs index 792a5ee7..485b5461 100644 --- a/test/EFCore.Jet.IntegrationTests/Model04/CarsContext.cs +++ b/test/EFCore.Jet.IntegrationTests/Model04/CarsContext.cs @@ -3,11 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model04 { - public class CarsContext : DbContext + public class CarsContext(DbContextOptions options) : DbContext(options) { - public CarsContext(DbContextOptions options) : base (options) - {} - public DbSet Cars { get; set; } public DbSet Persons { get; set; } } diff --git a/test/EFCore.Jet.IntegrationTests/Model05_WithIndex/Context.cs b/test/EFCore.Jet.IntegrationTests/Model05_WithIndex/Context.cs index 902ae1e8..37801604 100644 --- a/test/EFCore.Jet.IntegrationTests/Model05_WithIndex/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model05_WithIndex/Context.cs @@ -3,11 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model05_WithIndex { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base (options) - {} - public DbSet Foos { get; set; } public DbSet Bars { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model06_Inherit/Context.cs b/test/EFCore.Jet.IntegrationTests/Model06_Inherit/Context.cs index 7f29cbef..63deece9 100644 --- a/test/EFCore.Jet.IntegrationTests/Model06_Inherit/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model06_Inherit/Context.cs @@ -2,11 +2,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model06_Inherit { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base (options) - { } - public DbSet
Addresses { get; set; } public DbSet Users { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model07/Context.cs b/test/EFCore.Jet.IntegrationTests/Model07/Context.cs index cb0e578a..210a207f 100644 --- a/test/EFCore.Jet.IntegrationTests/Model07/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model07/Context.cs @@ -2,11 +2,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model07 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base (options) - { } - public DbSet As { get; set; } public DbSet Bs { get; set; } public DbSet Cs { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model08/Context.cs b/test/EFCore.Jet.IntegrationTests/Model08/Context.cs index 67509fc4..24869ed3 100644 --- a/test/EFCore.Jet.IntegrationTests/Model08/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model08/Context.cs @@ -3,11 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model08 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base (options) - { } - public DbSet Files { get; set; } public DbSet GalleryImages { get; set; } public DbSet PageImages { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model09/Context.cs b/test/EFCore.Jet.IntegrationTests/Model09/Context.cs index 55c3f3fa..879c5f70 100644 --- a/test/EFCore.Jet.IntegrationTests/Model09/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model09/Context.cs @@ -3,11 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model09 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base (options) - { } - public DbSet Ones { get; set; } public DbSet Twos { get; set; } public DbSet Threes { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model10/Context.cs b/test/EFCore.Jet.IntegrationTests/Model10/Context.cs index 44757ef7..f38935de 100644 --- a/test/EFCore.Jet.IntegrationTests/Model10/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model10/Context.cs @@ -5,10 +5,9 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model10 { - public class TestContext : DbContext + public class TestContext(DbConnection connection) + : DbContext(new DbContextOptionsBuilder().UseJet(connection).Options) { - public TestContext(DbConnection connection) : base(new DbContextOptionsBuilder().UseJet(connection).Options){} - public DbSet SomeClasses { get; set; } public DbSet Behaviors { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Context.cs b/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Context.cs index 459388b2..a694d281 100644 --- a/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Context.cs @@ -4,10 +4,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model12_ComplexType { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) { } - public DbSet Friends { get; set; } public DbSet LessThanFriends { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Model.cs b/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Model.cs index d1567230..1f0b3f93 100644 --- a/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Model.cs +++ b/test/EFCore.Jet.IntegrationTests/Model12_ComplexType/Model.cs @@ -9,25 +9,19 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model12_ComplexType [Table("Friend12")] public class Friend { - public Friend() - {Address = new FullAddress();} - public int Id { get; set; } public string Name { get; set; } - public FullAddress Address { get; set; } + public FullAddress Address { get; set; } = new(); } [Table("LessThanFriend12")] public class LessThanFriend { - public LessThanFriend() - {Address = new CityAddress();} - public int Id { get; set; } public string Name { get; set; } - public CityAddress Address { get; set; } + public CityAddress Address { get; set; } = new(); } diff --git a/test/EFCore.Jet.IntegrationTests/Model13_TableSplit_1_1rel/TestContext.cs b/test/EFCore.Jet.IntegrationTests/Model13_TableSplit_1_1rel/TestContext.cs index 0a026f75..9932af6a 100644 --- a/test/EFCore.Jet.IntegrationTests/Model13_TableSplit_1_1rel/TestContext.cs +++ b/test/EFCore.Jet.IntegrationTests/Model13_TableSplit_1_1rel/TestContext.cs @@ -4,12 +4,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model13_TableSplit_1_1rel { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) - { - } - public DbSet
Adresses { get; set; } public DbSet Visits { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model14_StackOverflow31992383/Context.cs b/test/EFCore.Jet.IntegrationTests/Model14_StackOverflow31992383/Context.cs index fe950206..b4f1c45a 100644 --- a/test/EFCore.Jet.IntegrationTests/Model14_StackOverflow31992383/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model14_StackOverflow31992383/Context.cs @@ -4,10 +4,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model14_StackOverflow31992383 { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) { } - public DbSet C1s { get; set; } public DbSet C3s { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model15_SortInheritedColumns/Context.cs b/test/EFCore.Jet.IntegrationTests/Model15_SortInheritedColumns/Context.cs index 0b2aabdb..5aa5fe5c 100644 --- a/test/EFCore.Jet.IntegrationTests/Model15_SortInheritedColumns/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model15_SortInheritedColumns/Context.cs @@ -4,12 +4,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model15_SortInheritedColumns { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) - { - } - public DbSet Brands { get; set; } } diff --git a/test/EFCore.Jet.IntegrationTests/Model18_CompositeKeys/TestContext.cs b/test/EFCore.Jet.IntegrationTests/Model18_CompositeKeys/TestContext.cs index 2d128ed3..360c150e 100644 --- a/test/EFCore.Jet.IntegrationTests/Model18_CompositeKeys/TestContext.cs +++ b/test/EFCore.Jet.IntegrationTests/Model18_CompositeKeys/TestContext.cs @@ -3,12 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model18_CompositeKeys { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) - : base(options) - {} - public DbSet Products { get; set; } public DbSet Processes { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model19_1_1/Context.cs b/test/EFCore.Jet.IntegrationTests/Model19_1_1/Context.cs index 7e97fb68..ec6f5456 100644 --- a/test/EFCore.Jet.IntegrationTests/Model19_1_1/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model19_1_1/Context.cs @@ -3,12 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model19_1_1 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet As { get; set; } public DbSet Bs { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model20_HiddenBackingField/Context.cs b/test/EFCore.Jet.IntegrationTests/Model20_HiddenBackingField/Context.cs index 9f024065..ca8c4fc1 100644 --- a/test/EFCore.Jet.IntegrationTests/Model20_HiddenBackingField/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model20_HiddenBackingField/Context.cs @@ -2,11 +2,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model20_HiddenBackingField { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base (options) - { } - public DbSet Companies { get; set; } public DbSet Employees { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model23_NestedInclude/DocumentMetadata.cs b/test/EFCore.Jet.IntegrationTests/Model23_NestedInclude/DocumentMetadata.cs index ca427c9a..8e64adc0 100644 --- a/test/EFCore.Jet.IntegrationTests/Model23_NestedInclude/DocumentMetadata.cs +++ b/test/EFCore.Jet.IntegrationTests/Model23_NestedInclude/DocumentMetadata.cs @@ -6,17 +6,11 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model23_NestedInclude { public class DocumentMetadata { - public DocumentMetadata() - { - VariablesMetadata = new List(); - DocumentMetadataExpressions = new List(); - } - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } public string Name { get; set; } - public ICollection VariablesMetadata { get; set; } - public ICollection DocumentMetadataExpressions { get; set; } + public ICollection VariablesMetadata { get; set; } = new List(); + public ICollection DocumentMetadataExpressions { get; set; } = new List(); public override string ToString() { diff --git a/test/EFCore.Jet.IntegrationTests/Model25_InheritTPH/Context.cs b/test/EFCore.Jet.IntegrationTests/Model25_InheritTPH/Context.cs index 4fde6239..b3bdc587 100644 --- a/test/EFCore.Jet.IntegrationTests/Model25_InheritTPH/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model25_InheritTPH/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model25_InheritTPH { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - public DbSet M1s { get; set; } public DbSet M2s { get; set; } public DbSet M3s { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model25_InheritTPT/Context.cs b/test/EFCore.Jet.IntegrationTests/Model25_InheritTPT/Context.cs index ac87b1dd..6c96a4d1 100644 --- a/test/EFCore.Jet.IntegrationTests/Model25_InheritTPT/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model25_InheritTPT/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model25_InheritTPT { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); diff --git a/test/EFCore.Jet.IntegrationTests/Model26_Decompile/Model.cs b/test/EFCore.Jet.IntegrationTests/Model26_Decompile/Model.cs index e6bd670c..441381f6 100644 --- a/test/EFCore.Jet.IntegrationTests/Model26_Decompile/Model.cs +++ b/test/EFCore.Jet.IntegrationTests/Model26_Decompile/Model.cs @@ -45,12 +45,8 @@ public string FullName public virtual ParentEntity Parent { get; set; } } - public class ParentChildModel : DbContext + public class ParentChildModel(DbContextOptions options) : DbContext(options) { - public ParentChildModel(DbContextOptions options) : base(options) - { - } - public virtual DbSet Parents { get; set; } public virtual DbSet Children { get; set; } } diff --git a/test/EFCore.Jet.IntegrationTests/Model27_SimpleTest/MyDbContext.cs b/test/EFCore.Jet.IntegrationTests/Model27_SimpleTest/MyDbContext.cs index 29a63b87..29f50359 100644 --- a/test/EFCore.Jet.IntegrationTests/Model27_SimpleTest/MyDbContext.cs +++ b/test/EFCore.Jet.IntegrationTests/Model27_SimpleTest/MyDbContext.cs @@ -4,12 +4,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model27_SimpleTest { - public class MyDbContext : DbContext + public class MyDbContext(DbContextOptions options) : DbContext(options) { - public MyDbContext(DbContextOptions options) : base(options) - { - } - public DbSet Users { get; set; } public DbSet Vehicles { get; set; } } diff --git a/test/EFCore.Jet.IntegrationTests/Model28/Context.cs b/test/EFCore.Jet.IntegrationTests/Model28/Context.cs index 27c20c57..faa299e1 100644 --- a/test/EFCore.Jet.IntegrationTests/Model28/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model28/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model28 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - public DbSet Advertisements { get; set; } public DbSet Users { get; set; } public DbSet AdImages { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model30/Context.cs b/test/EFCore.Jet.IntegrationTests/Model30/Context.cs index f6d89b36..37b399dd 100644 --- a/test/EFCore.Jet.IntegrationTests/Model30/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model30/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model30 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - public DbSet Answers { get; set; } public DbSet Questions { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model31_DoubleReference/Context.cs b/test/EFCore.Jet.IntegrationTests/Model31_DoubleReference/Context.cs index 7fde32cb..932e7b3c 100644 --- a/test/EFCore.Jet.IntegrationTests/Model31_DoubleReference/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model31_DoubleReference/Context.cs @@ -2,13 +2,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model31_DoubleReference { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - public DbSet People { get; set; } public DbSet PhoneNumbers { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model32_Include_NotInclude/Context.cs b/test/EFCore.Jet.IntegrationTests/Model32_Include_NotInclude/Context.cs index 7fec2968..a9cae930 100644 --- a/test/EFCore.Jet.IntegrationTests/Model32_Include_NotInclude/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model32_Include_NotInclude/Context.cs @@ -3,12 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model32_Include_NotInclude { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) - { - } - public DbSet
Adresses { get; set; } public DbSet Visits { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model33_OneToOneDeleteCascade/Context.cs b/test/EFCore.Jet.IntegrationTests/Model33_OneToOneDeleteCascade/Context.cs index 741b33e1..ebe6a886 100644 --- a/test/EFCore.Jet.IntegrationTests/Model33_OneToOneDeleteCascade/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model33_OneToOneDeleteCascade/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model33_OneToOneDeleteCascade { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : - base(options) - { - } - public DbSet Adresses { get; set; } public DbSet
Visits { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model34_JetEfBug/Context.cs b/test/EFCore.Jet.IntegrationTests/Model34_JetEfBug/Context.cs index 6020f039..5521fe09 100644 --- a/test/EFCore.Jet.IntegrationTests/Model34_JetEfBug/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model34_JetEfBug/Context.cs @@ -4,10 +4,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model34_JetEfBug { - public class DataContext : DbContext + public class DataContext(DbContextOptions options) : DbContext(options) { - public DataContext(DbContextOptions options) : - base(options) { } public DbSet Categories { get; set; } public DbSet Items { get; set; } } diff --git a/test/EFCore.Jet.IntegrationTests/Model35_OneToZeroOneDeleteCascade/Context.cs b/test/EFCore.Jet.IntegrationTests/Model35_OneToZeroOneDeleteCascade/Context.cs index da7494a9..b9467c31 100644 --- a/test/EFCore.Jet.IntegrationTests/Model35_OneToZeroOneDeleteCascade/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model35_OneToZeroOneDeleteCascade/Context.cs @@ -5,12 +5,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model35_OneToZeroOneDeleteCascade { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet Principals { get; set; } public DbSet Dependents { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model39_DetachedEntities/MyContext.cs b/test/EFCore.Jet.IntegrationTests/Model39_DetachedEntities/MyContext.cs index 4ecadb3f..90810c39 100644 --- a/test/EFCore.Jet.IntegrationTests/Model39_DetachedEntities/MyContext.cs +++ b/test/EFCore.Jet.IntegrationTests/Model39_DetachedEntities/MyContext.cs @@ -3,11 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model39_DetachedEntities { - public class MyContext : DbContext + public class MyContext(DbContextOptions options) : DbContext(options) { - public MyContext(DbContextOptions options) : base(options) - {} - public DbSet Grades { get; set; } public DbSet GradeWidths { get; set; } } diff --git a/test/EFCore.Jet.IntegrationTests/Model41/Check.cs b/test/EFCore.Jet.IntegrationTests/Model41/Check.cs index 115b8015..b61a9dfa 100644 --- a/test/EFCore.Jet.IntegrationTests/Model41/Check.cs +++ b/test/EFCore.Jet.IntegrationTests/Model41/Check.cs @@ -49,14 +49,8 @@ public class Applicant_Address } } - public class DemoContext : DbContext + public class DemoContext(DbContextOptions options) : DbContext(options) { - - public DemoContext(DbContextOptions options) : base(options) - { - } - - public DbSet Applicants { get; set; } public DbSet Applicant_Addresses { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model43_PKasFK/Context.cs b/test/EFCore.Jet.IntegrationTests/Model43_PKasFK/Context.cs index f1f7e895..c9b48ef4 100644 --- a/test/EFCore.Jet.IntegrationTests/Model43_PKasFK/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model43_PKasFK/Context.cs @@ -5,12 +5,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model43_PKasFK { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet Parents { get; set; } public DbSet Children { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model44_CaseSensitivity/Context.cs b/test/EFCore.Jet.IntegrationTests/Model44_CaseSensitivity/Context.cs index 90ea5438..d3c166af 100644 --- a/test/EFCore.Jet.IntegrationTests/Model44_CaseSensitivity/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model44_CaseSensitivity/Context.cs @@ -3,12 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model44_CaseSensitivity { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet Entities { get; set; } } } diff --git a/test/EFCore.Jet.IntegrationTests/Model45_InheritTPHWithSameRelationship/Context.cs b/test/EFCore.Jet.IntegrationTests/Model45_InheritTPHWithSameRelationship/Context.cs index 3935bbf0..d1480068 100644 --- a/test/EFCore.Jet.IntegrationTests/Model45_InheritTPHWithSameRelationship/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model45_InheritTPHWithSameRelationship/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model45_InheritTPHWithSameRelationship { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - // For TPH public DbSet Bases { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model46_InnerClasses/Context.cs b/test/EFCore.Jet.IntegrationTests/Model46_InnerClasses/Context.cs index c2ba7740..ad3cb7f8 100644 --- a/test/EFCore.Jet.IntegrationTests/Model46_InnerClasses/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model46_InnerClasses/Context.cs @@ -5,12 +5,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model46_InnerClasses { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet ClassAs { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/test/EFCore.Jet.IntegrationTests/Model47_200/Context.cs b/test/EFCore.Jet.IntegrationTests/Model47_200/Context.cs index 280b0b9b..92723c38 100644 --- a/test/EFCore.Jet.IntegrationTests/Model47_200/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model47_200/Context.cs @@ -5,12 +5,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model47_200 { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet Depts { get; set; } public DbSet Emps { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model48_Cast/Context.cs b/test/EFCore.Jet.IntegrationTests/Model48_Cast/Context.cs index e07696e3..d67b839d 100644 --- a/test/EFCore.Jet.IntegrationTests/Model48_Cast/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model48_Cast/Context.cs @@ -5,12 +5,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model48_Cast { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet Entities { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/test/EFCore.Jet.IntegrationTests/Model51_1_Many_RemoveChildren/Context.cs b/test/EFCore.Jet.IntegrationTests/Model51_1_Many_RemoveChildren/Context.cs index 48bb9ca6..20c53483 100644 --- a/test/EFCore.Jet.IntegrationTests/Model51_1_Many_RemoveChildren/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model51_1_Many_RemoveChildren/Context.cs @@ -3,11 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model51_1_Many_RemoveChildren { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - {} - public DbSet Blogs { get; set; } public DbSet Posts { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model53_TableSplitting/Context.cs b/test/EFCore.Jet.IntegrationTests/Model53_TableSplitting/Context.cs index f7b78811..2accd64c 100644 --- a/test/EFCore.Jet.IntegrationTests/Model53_TableSplitting/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model53_TableSplitting/Context.cs @@ -5,12 +5,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model53_TableSplitting { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - public Context(DbContextOptions options) : base(options) - { - } - public DbSet Persons { get; set; } public DbSet
Addresses { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model69_PrivateBackingField/Context.cs b/test/EFCore.Jet.IntegrationTests/Model69_PrivateBackingField/Context.cs index bc1510d7..d8581d1c 100644 --- a/test/EFCore.Jet.IntegrationTests/Model69_PrivateBackingField/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model69_PrivateBackingField/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model69_PrivateBackingField { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) - : base(options) - { } - public DbSet Infos { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/test/EFCore.Jet.IntegrationTests/Model72_TableSplitting/Context.cs b/test/EFCore.Jet.IntegrationTests/Model72_TableSplitting/Context.cs index c66a20db..59a00fd9 100644 --- a/test/EFCore.Jet.IntegrationTests/Model72_TableSplitting/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model72_TableSplitting/Context.cs @@ -3,13 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model72_TableSplitting { - public class Context : DbContext + public class Context(DbContextOptions options) : DbContext(options) { - - public Context(DbContextOptions options) : base (options) - { - } - public DbSet M1s { get; set; } public DbSet M2s { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Context.cs b/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Context.cs index 289346aa..b002c73e 100644 --- a/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Context.cs @@ -2,10 +2,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model74_ComplexTypeContained_Github9536 { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) { } - public DbSet Friends { get; set; } public DbSet LessThanFriends { get; set; } diff --git a/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Model.cs b/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Model.cs index ef4aaaf6..af2397ed 100644 --- a/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Model.cs +++ b/test/EFCore.Jet.IntegrationTests/Model74_ComplexTypeContained_Github9536/Model.cs @@ -7,29 +7,19 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model74_ComplexTypeContained_ [Table("Friend74")] public class Friend { - public Friend() - { - Address = new FullAddress(); - } - public int Id { get; set; } public string Name { get; set; } - public FullAddress Address { get; set; } + public FullAddress Address { get; set; } = new(); } [Table("LessThanFriend74")] public class LessThanFriend { - public LessThanFriend() - { - Address = new CityAddress(); - } - public int Id { get; set; } public string Name { get; set; } - public CityAddress Address { get; set; } + public CityAddress Address { get; set; } = new(); } @@ -42,14 +32,8 @@ public class CityAddress public class FullAddress { - public FullAddress() - { - CityAddress1 = new CityAddress(); - CityAddress2 = new CityAddress(); - } - public string Street { get; set; } - public CityAddress CityAddress1 { get; set; } - public CityAddress CityAddress2 { get; set; } + public CityAddress CityAddress1 { get; set; } = new(); + public CityAddress CityAddress2 { get; set; } = new(); } } diff --git a/test/EFCore.Jet.IntegrationTests/Model75_Enums/Context.cs b/test/EFCore.Jet.IntegrationTests/Model75_Enums/Context.cs index b08001f8..74c69d5d 100644 --- a/test/EFCore.Jet.IntegrationTests/Model75_Enums/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model75_Enums/Context.cs @@ -3,10 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model75_Enums { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) { } - public DbSet Entities { get; set; } } } diff --git a/test/EFCore.Jet.IntegrationTests/Model_MainTests/Context.cs b/test/EFCore.Jet.IntegrationTests/Model_MainTests/Context.cs index 18bc6474..f5cc64a0 100644 --- a/test/EFCore.Jet.IntegrationTests/Model_MainTests/Context.cs +++ b/test/EFCore.Jet.IntegrationTests/Model_MainTests/Context.cs @@ -3,10 +3,8 @@ namespace EntityFrameworkCore.Jet.IntegrationTests.Model_MainTests { - public class TestContext : DbContext + public class TestContext(DbContextOptions options) : DbContext(options) { - public TestContext(DbContextOptions options) : base(options) { } - public DbSet Entities { get; set; } } } diff --git a/test/Shared/TestUtilities/Xunit/JetConditionalFactDiscoverer.cs b/test/Shared/TestUtilities/Xunit/JetConditionalFactDiscoverer.cs index 2640704d..b6e0e4a0 100644 --- a/test/Shared/TestUtilities/Xunit/JetConditionalFactDiscoverer.cs +++ b/test/Shared/TestUtilities/Xunit/JetConditionalFactDiscoverer.cs @@ -4,13 +4,8 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities.Xunit; -public class JetConditionalFactDiscoverer : ConditionalFactDiscoverer +public class JetConditionalFactDiscoverer(IMessageSink messageSink) : ConditionalFactDiscoverer(messageSink) { - public JetConditionalFactDiscoverer(IMessageSink messageSink) - : base(messageSink) - { - } - protected override IXunitTestCase CreateTestCase( ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, diff --git a/test/Shared/TestUtilities/Xunit/JetConditionalTheoryDiscoverer.cs b/test/Shared/TestUtilities/Xunit/JetConditionalTheoryDiscoverer.cs index 327f2882..628985d6 100644 --- a/test/Shared/TestUtilities/Xunit/JetConditionalTheoryDiscoverer.cs +++ b/test/Shared/TestUtilities/Xunit/JetConditionalTheoryDiscoverer.cs @@ -5,13 +5,8 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities.Xunit; -public class JetConditionalTheoryDiscoverer : ConditionalTheoryDiscoverer +public class JetConditionalTheoryDiscoverer(IMessageSink messageSink) : ConditionalTheoryDiscoverer(messageSink) { - public JetConditionalTheoryDiscoverer(IMessageSink messageSink) - : base(messageSink) - { - } - protected override IEnumerable CreateTestCasesForTheory( ITestFrameworkDiscoveryOptions discoveryOptions, ITestMethod testMethod, diff --git a/test/Shared/TestUtilities/Xunit/JetXunitTestCaseRunner.cs b/test/Shared/TestUtilities/Xunit/JetXunitTestCaseRunner.cs index 71eb8785..bb479b37 100644 --- a/test/Shared/TestUtilities/Xunit/JetXunitTestCaseRunner.cs +++ b/test/Shared/TestUtilities/Xunit/JetXunitTestCaseRunner.cs @@ -9,7 +9,23 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities.Xunit; -public class JetXunitTestCaseRunner : XunitTestCaseRunner +public class JetXunitTestCaseRunner( + IXunitTestCase testCase, + string displayName, + string skipReason, + object[] constructorArguments, + object[] testMethodArguments, + IMessageBus messageBus, + ExceptionAggregator aggregator, + CancellationTokenSource cancellationTokenSource) + : XunitTestCaseRunner(testCase, + displayName, + skipReason, + constructorArguments, + testMethodArguments, + messageBus, + aggregator, + cancellationTokenSource) { public const string TestRunnerCrashCacheDirectory = "TestRunnerCrashCache"; public const string AutoSkipPrefix = "[AutoSkip]"; @@ -18,26 +34,6 @@ public class JetXunitTestCaseRunner : XunitTestCaseRunner public virtual bool EnableAutoSkipTestsKnownToCrashTestRunner => (Environment.GetEnvironmentVariable(AutoSkipTestRunnerCrashingTestsEnvironmentVariableName)?.ToLowerInvariant() ?? "true") != "false"; - public JetXunitTestCaseRunner(IXunitTestCase testCase, - string displayName, - string skipReason, - object[] constructorArguments, - object[] testMethodArguments, - IMessageBus messageBus, - ExceptionAggregator aggregator, - CancellationTokenSource cancellationTokenSource) - : base( - testCase, - displayName, - skipReason, - constructorArguments, - testMethodArguments, - messageBus, - aggregator, - cancellationTokenSource) - { - } - protected override XunitTestRunner CreateTestRunner(ITest test, IMessageBus messageBus, Type testClass, diff --git a/test/Shared/TestUtilities/Xunit/JetXunitTestFramework.cs b/test/Shared/TestUtilities/Xunit/JetXunitTestFramework.cs index bb6cf3a7..9504ab18 100644 --- a/test/Shared/TestUtilities/Xunit/JetXunitTestFramework.cs +++ b/test/Shared/TestUtilities/Xunit/JetXunitTestFramework.cs @@ -5,7 +5,7 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities.Xunit; -public class JetXunitTestFramework : XunitTestFramework +public class JetXunitTestFramework(IMessageSink messageSink) : XunitTestFramework(messageSink) { public const string TestsKnownToCrashTestRunnerFilePath = "./../../../TestsKnownToCrashTestRunner.txt"; public const string DetectCrashesOfPreviousRunsEnvironmentVariableName = "EFCoreJet_DetectCrashesOfPreviousRuns"; @@ -13,10 +13,6 @@ public class JetXunitTestFramework : XunitTestFramework public virtual bool EnableDetectCrashesOfPreviousRuns => Environment.GetEnvironmentVariable(DetectCrashesOfPreviousRunsEnvironmentVariableName)?.ToLowerInvariant() == "true"; - public JetXunitTestFramework(IMessageSink messageSink) : base(messageSink) - { - } - protected override ITestFrameworkDiscoverer CreateDiscoverer(IAssemblyInfo assemblyInfo) { if (EnableDetectCrashesOfPreviousRuns) diff --git a/test/Shared/TestUtilities/Xunit/JetXunitTestRunner.cs b/test/Shared/TestUtilities/Xunit/JetXunitTestRunner.cs index f93f9fc7..58afa02e 100644 --- a/test/Shared/TestUtilities/Xunit/JetXunitTestRunner.cs +++ b/test/Shared/TestUtilities/Xunit/JetXunitTestRunner.cs @@ -13,33 +13,28 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities.Xunit; -public class JetXunitTestRunner : XunitTestRunner +public class JetXunitTestRunner( + ITest test, + IMessageBus messageBus, + Type testClass, + object[] constructorArguments, + MethodInfo testMethod, + object[] testMethodArguments, + string skipReason, + IReadOnlyList beforeAfterAttributes, + ExceptionAggregator aggregator, + CancellationTokenSource cancellationTokenSource) + : XunitTestRunner(test, + messageBus, + testClass, + constructorArguments, + testMethod, + testMethodArguments, + skipReason, + beforeAfterAttributes, + aggregator, + cancellationTokenSource) { - public JetXunitTestRunner( - ITest test, - IMessageBus messageBus, - Type testClass, - object[] constructorArguments, - MethodInfo testMethod, - object[] testMethodArguments, - string skipReason, - IReadOnlyList beforeAfterAttributes, - ExceptionAggregator aggregator, - CancellationTokenSource cancellationTokenSource) - : base( - test, - messageBus, - testClass, - constructorArguments, - testMethod, - testMethodArguments, - skipReason, - beforeAfterAttributes, - aggregator, - cancellationTokenSource) - { - } - public new async Task RunAsync() { var runSummary = new RunSummary { Total = 1 }; diff --git a/test/Shared/TestUtilities/Xunit/JetXunitTheoryTestCaseRunner.cs b/test/Shared/TestUtilities/Xunit/JetXunitTheoryTestCaseRunner.cs index de5428a1..10e752d1 100644 --- a/test/Shared/TestUtilities/Xunit/JetXunitTheoryTestCaseRunner.cs +++ b/test/Shared/TestUtilities/Xunit/JetXunitTheoryTestCaseRunner.cs @@ -7,29 +7,24 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities.Xunit; -public class JetXunitTheoryTestCaseRunner : XunitTheoryTestCaseRunner +public class JetXunitTheoryTestCaseRunner( + IXunitTestCase testCase, + string displayName, + string skipReason, + object[] constructorArguments, + IMessageSink diagnosticMessageSink, + IMessageBus messageBus, + ExceptionAggregator aggregator, + CancellationTokenSource cancellationTokenSource) + : XunitTheoryTestCaseRunner(testCase, + displayName, + skipReason, + constructorArguments, + diagnosticMessageSink, + messageBus, + aggregator, + cancellationTokenSource) { - public JetXunitTheoryTestCaseRunner( - IXunitTestCase testCase, - string displayName, - string skipReason, - object[] constructorArguments, - IMessageSink diagnosticMessageSink, - IMessageBus messageBus, - ExceptionAggregator aggregator, - CancellationTokenSource cancellationTokenSource) - : base( - testCase, - displayName, - skipReason, - constructorArguments, - diagnosticMessageSink, - messageBus, - aggregator, - cancellationTokenSource) - { - } - protected override XunitTestRunner CreateTestRunner( ITest test, IMessageBus messageBus,