Misc test fixes (#196)

pull/197/head
Christopher Jolly 2 years ago committed by GitHub
parent b2998a4bf4
commit df7b86ac96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -397,22 +397,27 @@ namespace EntityFrameworkCore.Jet.Data
}
else
{
for (var i = 0; i < usedParameterCount && command.Parameters.Count > 0; i++)
//don't touch parameters if EXEC stored procedure. Jet parameters do not use the @ symbol with parameter arguments in EXEC.
//As such this code would not find any parameters and clear them all out.
if (!commandText.StartsWith("EXEC", StringComparison.InvariantCultureIgnoreCase))
{
command.Parameters.RemoveAt(0);
for (var i = 0; i < usedParameterCount && command.Parameters.Count > 0; i++)
{
command.Parameters.RemoveAt(0);
}
var parameterIndices = parser.GetStateIndices(
new[] { '@', '?' },
currentCommandStart,
commandDelimiter - currentCommandStart);
while (command.Parameters.Count > parameterIndices.Count)
{
command.Parameters.RemoveAt(parameterIndices.Count);
}
usedParameterCount += parameterIndices.Count;
}
var parameterIndices = parser.GetStateIndices(
new[] { '@', '?' },
currentCommandStart,
commandDelimiter - currentCommandStart);
while (command.Parameters.Count > parameterIndices.Count)
{
command.Parameters.RemoveAt(parameterIndices.Count);
}
usedParameterCount += parameterIndices.Count;
}
commands.Add(command);

@ -123,6 +123,29 @@ namespace EntityFrameworkCore.Jet.Internal
}
}
/// <summary>
/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to
/// the same compatibility standards as public APIs. It may be changed or removed without notice in
/// any release. You should only use it directly in your code with extreme caution and knowing that
/// doing so can result in application failures when updating to a new Entity Framework Core release.
/// </summary>
protected override void ValidateValueGeneration(
IEntityType entityType,
IKey key,
IDiagnosticsLogger<DbLoggerCategory.Model.Validation> logger)
{
if (entityType.GetTableName() != null
&& (string?)entityType[RelationalAnnotationNames.MappingStrategy] == RelationalAnnotationNames.TpcMappingStrategy)
{
foreach (var storeGeneratedProperty in key.Properties.Where(
p => (p.ValueGenerated & ValueGenerated.OnAdd) != 0
&& p.GetValueGenerationStrategy() == JetValueGenerationStrategy.IdentityColumn))
{
logger.TpcStoreGeneratedIdentityWarning(storeGeneratedProperty);
}
}
}
/// <summary>
/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to
/// the same compatibility standards as public APIs. It may be changed or removed without notice in

@ -368,10 +368,14 @@ namespace EntityFrameworkCore.Jet.Query.Sql.Internal
if (parent.TryPeek(out var exp) && exp is SqlBinaryExpression)
{
Sql.Append("IIF(");
base.VisitColumn(columnExpression);
Sql.Append(" IS NULL, NULL, ");
Sql.Append(function);
Sql.Append("(");
base.VisitColumn(columnExpression);
Sql.Append(")");
Sql.Append(")");
return columnExpression;
}
}
@ -944,5 +948,16 @@ namespace EntityFrameworkCore.Jet.Query.Sql.Internal
throw new InvalidOperationException(
RelationalStrings.ExecuteOperationWithUnsupportedOperatorInSqlGeneration(nameof(RelationalQueryableExtensions.ExecuteUpdate)));
}
/// <inheritdoc />
protected override void CheckComposableSqlTrimmed(ReadOnlySpan<char> sql)
{
base.CheckComposableSqlTrimmed(sql);
if (sql.StartsWith("WITH", StringComparison.OrdinalIgnoreCase))
{
throw new InvalidOperationException(RelationalStrings.FromSqlNonComposable);
}
}
}
}

@ -1,6 +1,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.Linq;
using System.Text;
@ -157,5 +158,104 @@ namespace EntityFrameworkCore.Jet.Update.Internal
}, " AND ");
}
}
public override ResultSetMapping AppendStoredProcedureCall(
StringBuilder commandStringBuilder,
IReadOnlyModificationCommand command,
int commandPosition,
out bool requiresTransaction)
{
Check.DebugAssert(command.StoreStoredProcedure is not null, "command.StoredProcedure is not null");
var storedProcedure = command.StoreStoredProcedure;
var resultSetMapping = ResultSetMapping.NoResults;
foreach (var resultColumn in storedProcedure.ResultColumns)
{
resultSetMapping = ResultSetMapping.LastInResultSet;
if (resultColumn == command.RowsAffectedColumn)
{
resultSetMapping |= ResultSetMapping.ResultSetWithRowsAffectedOnly;
}
else
{
resultSetMapping = ResultSetMapping.LastInResultSet;
break;
}
}
Check.DebugAssert(
storedProcedure.Parameters.Any() || storedProcedure.ResultColumns.Any(),
"Stored procedure call with neither parameters nor result columns");
commandStringBuilder.Append("EXEC ");
if (storedProcedure.ReturnValue is not null)
{
var returnValueModification = command.ColumnModifications.First(c => c.Column is IStoreStoredProcedureReturnValue);
Check.DebugAssert(returnValueModification.UseCurrentValueParameter, "returnValueModification.UseCurrentValueParameter");
Check.DebugAssert(!returnValueModification.UseOriginalValueParameter, "!returnValueModification.UseOriginalValueParameter");
SqlGenerationHelper.GenerateParameterNamePlaceholder(commandStringBuilder, returnValueModification.ParameterName!);
commandStringBuilder.Append(" = ");
resultSetMapping |= ResultSetMapping.HasOutputParameters;
}
SqlGenerationHelper.DelimitIdentifier(commandStringBuilder, storedProcedure.Name, storedProcedure.Schema);
if (storedProcedure.Parameters.Any())
{
commandStringBuilder.Append(' ');
var first = true;
// Only positional parameter style supported for now, see #28439
// Note: the column modifications are already ordered according to the sproc parameter ordering
// (see ModificationCommand.GenerateColumnModifications)
for (var i = 0; i < command.ColumnModifications.Count; i++)
{
var columnModification = command.ColumnModifications[i];
if (columnModification.Column is not IStoreStoredProcedureParameter parameter)
{
continue;
}
if (first)
{
first = false;
}
else
{
commandStringBuilder.Append(", ");
}
Check.DebugAssert(columnModification.UseParameter, "Column modification matched a parameter, but UseParameter is false");
commandStringBuilder.Append(columnModification.UseOriginalValueParameter
? columnModification.OriginalParameterName!
: columnModification.ParameterName!);
// Note that in/out parameters also get suffixed with OUTPUT in SQL Server
if (parameter.Direction.HasFlag(ParameterDirection.Output))
{
commandStringBuilder.Append(" OUTPUT");
resultSetMapping |= ResultSetMapping.HasOutputParameters;
}
}
}
commandStringBuilder.AppendLine(SqlGenerationHelper.StatementTerminator);
requiresTransaction = true;
return resultSetMapping;
}
}
}

@ -19,60 +19,6 @@ public class EntitySplittingSqlServerTest : EntitySplittingTestBase
{
}
[ConditionalFact]
public virtual async Task Can_roundtrip_with_triggers()
{
await InitializeAsync(
modelBuilder =>
{
OnModelCreating(modelBuilder);
modelBuilder.Entity<MeterReading>(
ob =>
{
ob.SplitToTable(
"MeterReadingDetails", t =>
{
t.HasTrigger("MeterReadingsDetails_Trigger");
});
});
},
sensitiveLogEnabled: false,
seed: c =>
{
c.Database.ExecuteSqlRaw(
@"
CREATE OR ALTER TRIGGER [MeterReadingsDetails_Trigger]
ON [MeterReadingDetails]
FOR INSERT, UPDATE, DELETE AS
BEGIN
IF @@ROWCOUNT = 0
return
END");
});
await using (var context = CreateContext())
{
var meterReading = new MeterReading { ReadingStatus = MeterReadingStatus.NotAccesible, CurrentRead = "100" };
await context.AddAsync(meterReading);
TestSqlLoggerFactory.Clear();
await context.SaveChangesAsync();
Assert.Empty(TestSqlLoggerFactory.Log.Where(l => l.Level == LogLevel.Warning));
}
await using (var context = CreateContext())
{
var reading = await context.MeterReadings.SingleAsync();
Assert.Equal(MeterReadingStatus.NotAccesible, reading.ReadingStatus);
Assert.Equal("100", reading.CurrentRead);
}
}
public override async Task Can_roundtrip()
{
await base.Can_roundtrip();

@ -7915,12 +7915,22 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Bad_data_error
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Bad_data_error_handling_null(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Entity_equality_through_fromsql(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Entity_equality_through_fromsql(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_with_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_with_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_without_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_without_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_with_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_with_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_without_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_without_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_annotations_do_not_affect_successive_calls(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_annotations_do_not_affect_successive_calls(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains2(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains2(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_common_table_expression(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_common_table_expression(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_nullable_predicate(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_nullable_predicate(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_queryable_composed_after_removing_whitespaces(async: False)
@ -12957,6 +12967,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_annota
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_annotations_do_not_affect_successive_calls(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_contains(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_contains(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_common_table_expression(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_common_table_expression(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_empty_predicate(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_empty_predicate(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_predicate(async: False)
@ -13093,6 +13105,10 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Inclu
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_reference_without_inheritance_with_filter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_reference_without_inheritance(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_reference_without_inheritance(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance_reverse(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance_reverse(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Nested_include_collection_reference_on_non_entity_base_split(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Nested_include_collection_reference_on_non_entity_base_split(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Nested_include_collection_reference_on_non_entity_base(async: False)
@ -13634,6 +13650,7 @@ EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_bool_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_byte_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_DateOnly_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_DateTime_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_DateTimeOffset_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_decimal_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_double_literals_are_parsed_for_HasDefaultValue
@ -14282,14 +14299,12 @@ EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Propertie
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToBytes", databaseType: "longbinary", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToChar", databaseType: "varchar(1)", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToDateTime", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToDateTimeOffset", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToEnum", databaseType: "integer", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToGuid", databaseType: "uniqueidentifier", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableBool", databaseType: "smallint", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableBytes", databaseType: "longbinary", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableChar", databaseType: "varchar(1)", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableDateTime", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableDateTimeOffset", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableEnum", databaseType: "integer", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableGuid", databaseType: "uniqueidentifier", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableNumber", databaseType: "byte", isNullable: True)
@ -14315,14 +14330,12 @@ EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Propertie
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToBytes", databaseType: "longbinary", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToChar", databaseType: "varchar(1)", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToDateTime", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToDateTimeOffset", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToEnum", databaseType: "integer", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToGuid", databaseType: "uniqueidentifier", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableBool", databaseType: "smallint", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableBytes", databaseType: "longbinary", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableChar", databaseType: "varchar(1)", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableDateTime", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableDateTimeOffset", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableEnum", databaseType: "integer", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableGuid", databaseType: "uniqueidentifier", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableNumber", databaseType: "byte", isNullable: False)

@ -9297,12 +9297,20 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Bad_data_error
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Bad_data_error_handling_null(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Entity_equality_through_fromsql(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.Entity_equality_through_fromsql(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_with_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_with_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_without_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_Count_used_twice_without_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_queryable_with_parameters_inline_interpolated(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_queryable_with_parameters_inline_interpolated(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_queryable_with_parameters_interpolated(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_queryable_with_parameters_interpolated(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_with_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_with_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_without_parameters(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_used_twice_without_parameters(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_with_db_parameter_in_split_query(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_with_db_parameter_in_split_query(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSql_with_inlined_db_parameter_without_name_prefix(async: False)
@ -9327,6 +9335,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_com
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains2(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_contains2(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_common_table_expression(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_common_table_expression(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_nullable_predicate(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_composed_with_nullable_predicate(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.FromSqlQueryJetTest.FromSqlRaw_does_not_parameterize_interpolated_string(async: False)
@ -9725,6 +9735,18 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Correlated_
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Correlated_collections_with_funky_orderby_complex_scenario2(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Count_with_optional_navigation_is_translated_to_sql(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Count_with_optional_navigation_is_translated_to_sql(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddDays(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddDays(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddHours(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddHours(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMinutes(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMinutes(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMonths(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMonths(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddSeconds(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddSeconds(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddYears(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddYears(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffsetNow_minus_timespan(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.DateTimeOffsetNow_minus_timespan(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Distinct_on_subquery_doesnt_get_lifted(isAsync: False)
@ -10460,12 +10482,32 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_conta
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_contains_on_navigation_with_composite_keys(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_count_subquery_without_collision(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_count_subquery_without_collision(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_AddDays(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_AddDays(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_AddMonths(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_AddMonths(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_AddYears(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_AddYears(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_Day(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_Day(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_DayOfWeek(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_DayOfWeek(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_DayOfYear(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_DayOfYear(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_Month(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_Month(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_Year(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_DateOnly_Year(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_day_component(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_day_component(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_dayofyear_component(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_dayofyear_component(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_minute_component(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_minute_component(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_month_component(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_month_component(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_second_component(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_datetimeoffset_second_component(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum_has_flag_subquery_client_eval(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum_has_flag_subquery_client_eval(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum_has_flag_subquery_with_pushdown(isAsync: False)
@ -10478,6 +10520,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum_
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum_has_flag(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_enum(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_equals_method_on_nullable_with_object_overload(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_equals_method_on_nullable_with_object_overload(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_has_flag_with_nullable_parameter(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_has_flag_with_nullable_parameter(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_is_properly_lifted_from_subquery_created_by_include(isAsync: False)
@ -10512,8 +10556,26 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_subqu
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_subquery_equality_to_null_without_composite_key(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Add_TimeSpan(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Add_TimeSpan(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_AddHours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_AddHours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_AddMinutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_AddMinutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Hour(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Hour(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_IsBetween(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_IsBetween(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Minute(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Minute(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Second(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_Second(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_subtract_TimeOnly(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeOnly_subtract_TimeOnly(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeSpan_Hours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeSpan_Hours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeSpan_Minutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeSpan_Minutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeSpan_Seconds(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_TimeSpan_Seconds(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_with_enum_flags_parameter(isAsync: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_with_enum_flags_parameter(isAsync: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.IncludeOneToOneJetTest.Include_address
@ -16009,6 +16071,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_annota
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_annotations_do_not_affect_successive_calls(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_contains(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_contains(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_common_table_expression(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_common_table_expression(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_empty_predicate(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_empty_predicate(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.SqlQueryJetTest.SqlQueryRaw_composed_with_predicate(async: False)
@ -16311,6 +16375,18 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Correlat
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Correlated_collections_with_funky_orderby_complex_scenario2(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Count_with_optional_navigation_is_translated_to_sql(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Count_with_optional_navigation_is_translated_to_sql(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddDays(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddDays(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddHours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddHours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMinutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMinutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMonths(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMonths(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddSeconds(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddSeconds(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddYears(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddYears(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffsetNow_minus_timespan(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.DateTimeOffsetNow_minus_timespan(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Distinct_on_subquery_doesnt_get_lifted(async: False)
@ -16858,6 +16934,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_n
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_null_propagation_works_for_multiple_navigations_with_composite_keys(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_null_propagation_works_for_navigations_with_composite_keys(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_null_propagation_works_for_navigations_with_composite_keys(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_required_navigation_on_derived_type(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_required_navigation_on_derived_type(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_required_navigation_on_the_same_type_with_cast(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_required_navigation_on_the_same_type_with_cast(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Select_Singleton_Navigation_With_Member_Access(async: False)
@ -17042,12 +17120,32 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_co
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_contains_on_navigation_with_composite_keys(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_count_subquery_without_collision(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_count_subquery_without_collision(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_AddDays(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_AddDays(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_AddMonths(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_AddMonths(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_AddYears(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_AddYears(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_Day(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_Day(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_DayOfWeek(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_DayOfWeek(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_DayOfYear(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_DayOfYear(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_Month(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_Month(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_Year(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_DateOnly_Year(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_day_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_day_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_dayofyear_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_dayofyear_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_minute_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_minute_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_month_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_month_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_second_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_datetimeoffset_second_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_enum_has_flag_subquery_client_eval(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_enum_has_flag_subquery_client_eval(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_enum_has_flag_subquery_with_pushdown(async: False)
@ -17060,6 +17158,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_en
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_enum_has_flag(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_enum(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_enum(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_equals_method_on_nullable_with_object_overload(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_equals_method_on_nullable_with_object_overload(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_has_flag_with_nullable_parameter(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_has_flag_with_nullable_parameter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_is_properly_lifted_from_subquery_created_by_include(async: False)
@ -17076,6 +17176,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_nu
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_nullable_enum_with_null_constant(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_nullable_enum_with_nullable_parameter(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_nullable_enum_with_nullable_parameter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_required_navigation_on_derived_type(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_required_navigation_on_derived_type(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_subquery_boolean_with_pushdown(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_subquery_boolean_with_pushdown(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_subquery_boolean(async: False)
@ -17092,8 +17194,26 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_su
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_subquery_equality_to_null_without_composite_key(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Add_TimeSpan(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Add_TimeSpan(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_AddHours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_AddHours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_AddMinutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_AddMinutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Hour(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Hour(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_IsBetween(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_IsBetween(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Minute(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Minute(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Second(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_Second(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_subtract_TimeOnly(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeOnly_subtract_TimeOnly(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeSpan_Hours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeSpan_Hours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeSpan_Minutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeSpan_Minutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeSpan_Seconds(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_TimeSpan_Seconds(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_with_enum_flags_parameter(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_with_enum_flags_parameter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCManyToManyNoTrackingQueryJetTest.Check_all_tests_overridden
@ -17525,6 +17645,10 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Inclu
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_reference_without_inheritance_with_filter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_reference_without_inheritance(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_reference_without_inheritance(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance_reverse(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance_reverse(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Include_self_reference_with_inheritance(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Nested_include_collection_reference_on_non_entity_base_split(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Nested_include_collection_reference_on_non_entity_base_split(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPCRelationshipsQueryJetTest.Nested_include_collection_reference_on_non_entity_base(async: False)
@ -17907,6 +18031,18 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Correlat
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Correlated_collections_with_funky_orderby_complex_scenario2(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Count_with_optional_navigation_is_translated_to_sql(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Count_with_optional_navigation_is_translated_to_sql(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddDays(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddDays(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddHours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddHours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMinutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMinutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMonths(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddMonths(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddSeconds(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddSeconds(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddYears(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffset_DateAdd_AddYears(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffsetNow_minus_timespan(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.DateTimeOffsetNow_minus_timespan(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Distinct_on_subquery_doesnt_get_lifted(async: False)
@ -18640,12 +18776,32 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_co
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_contains_on_navigation_with_composite_keys(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_count_subquery_without_collision(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_count_subquery_without_collision(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_AddDays(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_AddDays(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_AddMonths(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_AddMonths(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_AddYears(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_AddYears(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_Day(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_Day(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_DayOfWeek(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_DayOfWeek(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_DayOfYear(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_DayOfYear(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_Month(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_Month(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_Year(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_DateOnly_Year(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_day_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_day_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_dayofyear_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_dayofyear_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_minute_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_minute_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_month_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_month_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_second_component(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_datetimeoffset_second_component(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_enum_has_flag_subquery_client_eval(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_enum_has_flag_subquery_client_eval(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_enum_has_flag_subquery_with_pushdown(async: False)
@ -18658,6 +18814,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_en
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_enum_has_flag(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_enum(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_enum(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_equals_method_on_nullable_with_object_overload(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_equals_method_on_nullable_with_object_overload(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_has_flag_with_nullable_parameter(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_has_flag_with_nullable_parameter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_is_properly_lifted_from_subquery_created_by_include(async: False)
@ -18692,8 +18850,26 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_su
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_subquery_equality_to_null_without_composite_key(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Add_TimeSpan(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Add_TimeSpan(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_AddHours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_AddHours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_AddMinutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_AddMinutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Hour(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Hour(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_IsBetween(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_IsBetween(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Minute(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Minute(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Second(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_Second(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_subtract_TimeOnly(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeOnly_subtract_TimeOnly(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeSpan_Hours(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeSpan_Hours(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeSpan_Minutes(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeSpan_Minutes(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeSpan_Seconds(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_TimeSpan_Seconds(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_with_enum_flags_parameter(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_with_enum_flags_parameter(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Query.TPTInheritanceQueryJetTest.Byte_enum_value_constant_used_in_projection(async: False)
@ -19414,6 +19590,7 @@ EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_bool_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_byte_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_DateOnly_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_DateTime_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_DateTimeOffset_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_decimal_literals_are_parsed_for_HasDefaultValue
EntityFrameworkCore.Jet.FunctionalTests.Scaffolding.JetDatabaseModelFactoryTest.Simple_double_literals_are_parsed_for_HasDefaultValue
@ -20237,6 +20414,9 @@ EntityFrameworkCore.Jet.FunctionalTests.Update.NonSharedModelUpdatesJetTest.DbUp
EntityFrameworkCore.Jet.FunctionalTests.Update.NonSharedModelUpdatesJetTest.DbUpdateException_Entries_is_correct_with_multiple_inserts(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Update.NonSharedModelUpdatesJetTest.Principal_and_dependent_roundtrips_with_cycle_breaking(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Update.NonSharedModelUpdatesJetTest.Principal_and_dependent_roundtrips_with_cycle_breaking(async: True)
EntityFrameworkCore.Jet.FunctionalTests.Update.StoredProcedureUpdateJetTest.Delete(async: False)
EntityFrameworkCore.Jet.FunctionalTests.Update.StoredProcedureUpdateJetTest.Delete(async: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Can_insert_and_read_back_with_conversions(valueOrder: [0, 2, 0, 2])
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Convert_int_non_nulls_to_string_non_nulls_in_provider
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Convert_int_non_nulls_to_string_non_nulls_in_provider_object
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Convert_int_non_nulls_to_string_nulls_in_provider
@ -20340,14 +20520,12 @@ EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Propertie
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToBytes", databaseType: "longbinary", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToChar", databaseType: "varchar(1)", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToDateTime", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToDateTimeOffset", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToEnum", databaseType: "integer", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToGuid", databaseType: "uniqueidentifier", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableBool", databaseType: "smallint", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableBytes", databaseType: "longbinary", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableChar", databaseType: "varchar(1)", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableDateTime", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableDateTimeOffset", databaseType: "datetime", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableEnum", databaseType: "integer", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableGuid", databaseType: "uniqueidentifier", isNullable: True)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "NullableStringToNullableNumber", databaseType: "byte", isNullable: True)
@ -20373,14 +20551,12 @@ EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Propertie
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToBytes", databaseType: "longbinary", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToChar", databaseType: "varchar(1)", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToDateTime", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToDateTimeOffset", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToEnum", databaseType: "integer", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToGuid", databaseType: "uniqueidentifier", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableBool", databaseType: "smallint", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableBytes", databaseType: "longbinary", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableChar", databaseType: "varchar(1)", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableDateTime", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableDateTimeOffset", databaseType: "datetime", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableEnum", databaseType: "integer", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableGuid", databaseType: "uniqueidentifier", isNullable: False)
EntityFrameworkCore.Jet.FunctionalTests.ValueConvertersEndToEndJetTest.Properties_with_conversions_map_to_appropriately_null_columns(propertyName: "StringToNullableNumber", databaseType: "byte", isNullable: False)

@ -1,144 +0,0 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Linq;
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
// ReSharper disable InconsistentNaming
namespace EntityFrameworkCore.Jet.FunctionalTests
{
public class JetQueryTriggersTest : IClassFixture<JetQueryTriggersTest.JetTriggersFixture>
{
public JetQueryTriggersTest(JetTriggersFixture fixture) => Fixture = fixture;
private JetTriggersFixture Fixture { get; }
[ConditionalFact]
public void Triggers_with_subqueries_run_on_insert_update_and_delete()
{
using (var context = CreateContext())
{
var product = new Product { Name = "blah" };
context.Products.Add(product);
context.SaveChanges();
Assert.Equal(1, product.StoreUpdated);
product.Name = "fooh";
context.SaveChanges();
Assert.Equal(2, product.StoreUpdated);
context.Products.Remove(product);
context.SaveChanges();
Assert.Empty(context.Products);
}
}
[ConditionalFact]
public void Triggers_with_subqueries_work_with_batch_operations()
{
using (var context = CreateContext())
{
var productToBeUpdated1 = new Product { Name = "u1" };
var productToBeUpdated2 = new Product { Name = "u2" };
context.Products.Add(productToBeUpdated1);
context.Products.Add(productToBeUpdated2);
var productToBeDeleted1 = new Product { Name = "d1" };
var productToBeDeleted2 = new Product { Name = "d2" };
context.Products.Add(productToBeDeleted1);
context.Products.Add(productToBeDeleted2);
context.SaveChanges();
var productToBeAdded1 = new Product { Name = "a1" };
var productToBeAdded2 = new Product { Name = "a2" };
context.Products.Add(productToBeAdded1);
context.Products.Add(productToBeAdded2);
productToBeUpdated1.Name = "n1";
productToBeUpdated2.Name = "n2";
context.Products.Remove(productToBeDeleted1);
context.Products.Remove(productToBeDeleted2);
context.SaveChanges();
Assert.Equal(1, productToBeAdded1.StoreUpdated);
Assert.Equal(1, productToBeAdded2.StoreUpdated);
Assert.Equal(2, productToBeUpdated1.StoreUpdated);
Assert.Equal(2, productToBeUpdated2.StoreUpdated);
var products = context.Products.ToList();
Assert.Equal(4, products.Count);
context.Products.RemoveRange(products);
context.SaveChanges();
}
}
protected QueryTriggersContext CreateContext() => (QueryTriggersContext)Fixture.CreateContext();
protected class QueryTriggersContext : PoolableDbContext
{
public QueryTriggersContext(DbContextOptions options)
: base(options)
{
}
public virtual DbSet<Product> Products { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>(
eb =>
{
eb.Property(e => e.StoreUpdated)
.HasDefaultValue(0)
.ValueGeneratedOnAddOrUpdate();
eb.ToTable("UpdatedProducts");
});
}
}
protected class Product
{
public virtual int Id { get; set; }
public virtual byte[] Version { get; set; }
public virtual string Name { get; set; }
public virtual int StoreUpdated { get; set; }
}
public class JetTriggersFixture : SharedStoreFixtureBase<DbContext>
{
protected override string StoreName { get; } = "JetQueryTriggers";
protected override Type ContextType { get; } = typeof(QueryTriggersContext);
protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance;
protected override void Seed(DbContext context)
{
context.Database.EnsureCreatedResiliently();
context.Database.ExecuteSqlRaw(
@"
CREATE TRIGGER TRG_InsertUpdateProduct
ON UpdatedProducts
AFTER INSERT, UPDATE AS
BEGIN
IF @@ROWCOUNT = 0
return
SET nocount on;
UPDATE UpdatedProducts set StoreUpdated = StoreUpdated + 1
WHERE Id IN(SELECT INSERTED.Id FROM INSERTED);
END");
}
}
}
}

@ -1,200 +0,0 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Linq;
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
// ReSharper disable ParameterOnlyUsedForPreconditionCheck.Local
// ReSharper disable InconsistentNaming
namespace EntityFrameworkCore.Jet.FunctionalTests
{
public class JetTriggersTest : IClassFixture<JetTriggersTest.JetTriggersFixture>
{
public JetTriggersTest(JetTriggersFixture fixture) => Fixture = fixture;
private JetTriggersFixture Fixture { get; }
[ConditionalFact]
public void Triggers_run_on_insert_update_and_delete()
{
using (var context = CreateContext())
{
var product = new Product { Name = "blah" };
context.Products.Add(product);
context.SaveChanges();
var firstVersion = product.Version;
var productBackup = context.ProductBackups.AsNoTracking().Single();
AssertEqual(product, productBackup);
product.Name = "fooh";
context.SaveChanges();
Assert.NotEqual(firstVersion, product.Version);
productBackup = context.ProductBackups.AsNoTracking().Single();
AssertEqual(product, productBackup);
context.Products.Remove(product);
context.SaveChanges();
Assert.Empty(context.Products);
Assert.Empty(context.ProductBackups);
}
}
[ConditionalFact]
public void Triggers_work_with_batch_operations()
{
using (var context = CreateContext())
{
var productToBeUpdated1 = new Product { Name = "u1" };
var productToBeUpdated2 = new Product { Name = "u2" };
context.Products.Add(productToBeUpdated1);
context.Products.Add(productToBeUpdated2);
var productToBeDeleted1 = new Product { Name = "d1" };
var productToBeDeleted2 = new Product { Name = "d2" };
context.Products.Add(productToBeDeleted1);
context.Products.Add(productToBeDeleted2);
context.SaveChanges();
var productToBeAdded1 = new Product { Name = "a1" };
var productToBeAdded2 = new Product { Name = "a2" };
context.Products.Add(productToBeAdded1);
context.Products.Add(productToBeAdded2);
productToBeUpdated1.Name = "n1";
productToBeUpdated2.Name = "n2";
context.Products.Remove(productToBeDeleted1);
context.Products.Remove(productToBeDeleted2);
context.SaveChanges();
var productBackups = context.ProductBackups.ToList();
Assert.Equal(4, productBackups.Count);
AssertEqual(productToBeAdded1, productBackups.Single(p => p.Name == "a1"));
AssertEqual(productToBeAdded2, productBackups.Single(p => p.Name == "a2"));
AssertEqual(productToBeUpdated1, productBackups.Single(p => p.Name == "n1"));
AssertEqual(productToBeUpdated2, productBackups.Single(p => p.Name == "n2"));
context.Products.RemoveRange(context.Products);
context.SaveChanges();
}
}
private static void AssertEqual(Product product, ProductBackup productBackup)
{
Assert.Equal(product.Id, productBackup.Id);
Assert.Equal(product.Name, productBackup.Name);
Assert.Equal(product.Version, productBackup.Version);
}
protected TriggersContext CreateContext() => (TriggersContext)Fixture.CreateContext();
protected class TriggersContext : PoolableDbContext
{
public TriggersContext(DbContextOptions options)
: base(options)
{
}
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<ProductBackup> ProductBackups { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>(
eb =>
{
eb.Property(e => e.Version)
.ValueGeneratedOnAddOrUpdate()
.IsConcurrencyToken();
eb.Ignore(e => e.StoreUpdated);
});
modelBuilder.Entity<ProductBackup>()
.Property(e => e.Id).ValueGeneratedNever();
}
}
protected class Product
{
public virtual int Id { get; set; }
public virtual byte[] Version { get; set; }
public virtual string Name { get; set; }
public virtual int StoreUpdated { get; set; }
}
protected class ProductBackup
{
public virtual int Id { get; set; }
public virtual byte[] Version { get; set; }
public virtual string Name { get; set; }
}
public class JetTriggersFixture : SharedStoreFixtureBase<PoolableDbContext>
{
protected override string StoreName { get; } = "JetTriggers";
protected override Type ContextType { get; } = typeof(TriggersContext);
protected override ITestStoreFactory TestStoreFactory => JetTestStoreFactory.Instance;
protected override void Seed(PoolableDbContext context)
{
context.Database.EnsureCreatedResiliently();
context.Database.ExecuteSqlRaw(
@"
CREATE TRIGGER TRG_InsertProduct
ON Products
AFTER INSERT AS
BEGIN
IF @@ROWCOUNT = 0
return
SET nocount on;
INSERT INTO ProductBackups
SELECT * FROM INSERTED;
END");
context.Database.ExecuteSqlRaw(
@"
CREATE TRIGGER TRG_UpdateProduct
ON Products
AFTER UPDATE AS
BEGIN
IF @@ROWCOUNT = 0
return
SET nocount on;
UPDATE b
SET b.Name = p.Name, b.Version = p.Version
FROM ProductBackups b
INNER JOIN Products p
ON b.Id = p.Id
WHERE p.Id IN(SELECT INSERTED.Id FROM INSERTED);
END");
context.Database.ExecuteSqlRaw(
@"
CREATE TRIGGER TRG_DeleteProduct
ON Products
AFTER DELETE AS
BEGIN
IF @@ROWCOUNT = 0
return
SET nocount on;
DELETE FROM ProductBackups
WHERE Id IN(SELECT DELETED.Id FROM DELETED);
END");
}
}
}
}

@ -12,12 +12,18 @@ using Xunit;
using Xunit.Abstractions;
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
using System.Data.Odbc;
using EntityFrameworkCore.Jet.Storage.Internal;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.EntityFrameworkCore.TestModels.Northwind;
using Microsoft.EntityFrameworkCore;
using System.Linq;
namespace EntityFrameworkCore.Jet.FunctionalTests.Query;
public class FromSqlQueryJetTest : FromSqlQueryTestBase<NorthwindQueryJetFixture<NoopModelCustomizer>>
public class FromSqlQueryJetTest : FromSqlQueryTestBase<FromSqlQueryJetTest.FromSqlQueryJetTestFixture>
{
public FromSqlQueryJetTest(NorthwindQueryJetFixture<NoopModelCustomizer> fixture, ITestOutputHelper testOutputHelper)
public FromSqlQueryJetTest(FromSqlQueryJetTestFixture fixture, ITestOutputHelper testOutputHelper)
: base(fixture)
{
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
@ -1003,4 +1009,81 @@ FROM (
private void AssertSql(params string[] expected)
=> Fixture.TestSqlLoggerFactory.AssertBaseline(expected);
public class FromSqlQueryJetTestFixture : NorthwindQueryJetFixture<NoopModelCustomizer>
{
protected override IServiceCollection AddServices(IServiceCollection serviceCollection)
=> base.AddServices(serviceCollection)
.AddSingleton<IRelationalTransactionFactory, TestRelationalTransactionFactory>()
.AddScoped<IJetRelationalConnection, TestJetConnection>()
.AddSingleton<IRelationalCommandBuilderFactory, TestRelationalCommandBuilderFactory>();
}
public override async Task FromSql_used_twice_without_parameters(bool async)
{
await AssertAny(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT 'ALFKI' AS [CustomerID] FROM `#Dual`"))
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
await AssertAny(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT 'ALFKI' AS [CustomerID] FROM `#Dual`"))
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
}
public override async Task FromSql_used_twice_with_parameters(bool async)
{
await AssertAny(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT {0} AS [CustomerID] FROM `#Dual`"), "ALFKI")
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
await AssertAny(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT {0} AS [CustomerID] FROM `#Dual`"), "ALFKI")
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
}
public override async Task FromSql_Count_used_twice_without_parameters(bool async)
{
await AssertCount(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT 'ALFKI' AS [CustomerID] FROM `#Dual`"))
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
await AssertCount(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT 'ALFKI' AS [CustomerID] FROM `#Dual`"))
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
}
public override async Task FromSql_Count_used_twice_with_parameters(bool async)
{
await AssertCount(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT {0} AS [CustomerID] FROM `#Dual`"), "ALFKI")
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
await AssertCount(
async,
ss => ((DbSet<OrderQuery>)ss.Set<OrderQuery>())
.FromSqlRaw(NormalizeDelimitersInRawString("SELECT {0} AS [CustomerID] FROM `#Dual`"), "ALFKI")
.IgnoreQueryFilters(),
ss => ss.Set<Customer>().Where(x => x.CustomerID == "ALFKI").Select(x => new OrderQuery(x.CustomerID)));
}
}

@ -24,7 +24,43 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query
// Drop constraint to workaround Jet limitation regarding compound foreign keys and NULL.
context.Database.ExecuteSql($"ALTER TABLE `Gears` DROP CONSTRAINT `FK_Gears_Gears_LeaderNickname_LeaderSquadId`");
base.Seed(context);
var squads = GearsOfWarData.CreateSquads();
var missions = GearsOfWarData.CreateMissions();
var squadMissions = GearsOfWarData.CreateSquadMissions();
var cities = GearsOfWarData.CreateCities();
var weapons = GearsOfWarData.CreateWeapons();
var tags = GearsOfWarData.CreateTags();
var gears = GearsOfWarData.CreateGears();
var locustLeaders = GearsOfWarData.CreateLocustLeaders();
var factions = GearsOfWarData.CreateFactions();
var locustHighCommands = GearsOfWarData.CreateHighCommands();
foreach (var mission in missions)
{
if (mission.Timeline.Year < 100)
{
mission.Timeline = mission.Timeline.AddYears(100);
}
}
GearsOfWarData.WireUp(
squads, missions, squadMissions, cities, weapons, tags, gears, locustLeaders, factions, locustHighCommands);
context.Squads.AddRange(squads);
context.Missions.AddRange(missions);
context.SquadMissions.AddRange(squadMissions);
context.Cities.AddRange(cities);
context.Weapons.AddRange(weapons);
context.Tags.AddRange(tags);
context.Gears.AddRange(gears);
context.LocustLeaders.AddRange(locustLeaders);
context.Factions.AddRange(factions);
context.LocustHighCommands.AddRange(locustHighCommands);
context.SaveChanges();
GearsOfWarData.WireUp2(locustLeaders, factions);
context.SaveChanges();
}
public override ISetSource GetExpectedData()
@ -33,6 +69,10 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.Query
foreach (var mission in data.Missions)
{
if (mission.Timeline.Year < 100)
{
mission.Timeline = mission.Timeline.AddYears(100);
}
mission.Timeline = JetTestHelpers.GetExpectedValue(mission.Timeline);
}

@ -2587,9 +2587,11 @@ WHERE DATEPART('y', `m`.`Timeline`) = 2
await base.Where_datetimeoffset_day_component(isAsync);
AssertSql(
$@"SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Rating`, `m`.`Timeline`
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('d', `m`.`Timeline`) = 2");
WHERE DATEPART('d', `m`.`Timeline`) = 2
""");
}
public override async Task Where_datetimeoffset_hour_component(bool isAsync)
@ -2607,9 +2609,11 @@ WHERE DATEPART('h', `m`.`Timeline`) = 10");
await base.Where_datetimeoffset_minute_component(isAsync);
AssertSql(
$@"SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Rating`, `m`.`Timeline`
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('n', `m`.`Timeline`) = 0");
WHERE DATEPART('n', `m`.`Timeline`) = 0
""");
}
public override async Task Where_datetimeoffset_second_component(bool isAsync)
@ -2617,9 +2621,11 @@ WHERE DATEPART('n', `m`.`Timeline`) = 0");
await base.Where_datetimeoffset_second_component(isAsync);
AssertSql(
$@"SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Rating`, `m`.`Timeline`
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('s', `m`.`Timeline`) = 0");
WHERE DATEPART('s', `m`.`Timeline`) = 0
""");
}
public override async Task Where_datetimeoffset_millisecond_component(bool isAsync)
@ -2646,8 +2652,10 @@ FROM `Missions` AS `m`");
await base.DateTimeOffset_DateAdd_AddDays(isAsync);
AssertSql(
$@"SELECT DATEADD('d', CAST(1.0E0 AS int), `m`.`Timeline`)
FROM `Missions` AS `m`");
"""
SELECT DATEADD('d', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
public override async Task DateTimeOffset_DateAdd_AddHours(bool isAsync)
@ -2655,8 +2663,10 @@ FROM `Missions` AS `m`");
await base.DateTimeOffset_DateAdd_AddHours(isAsync);
AssertSql(
$@"SELECT DATEADD('h', CAST(1.0E0 AS int), `m`.`Timeline`)
FROM `Missions` AS `m`");
"""
SELECT DATEADD('h', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
public override async Task DateTimeOffset_DateAdd_AddMinutes(bool isAsync)
@ -2664,8 +2674,10 @@ FROM `Missions` AS `m`");
await base.DateTimeOffset_DateAdd_AddMinutes(isAsync);
AssertSql(
$@"SELECT DATEADD('n', CAST(1.0E0 AS int), `m`.`Timeline`)
FROM `Missions` AS `m`");
"""
SELECT DATEADD('n', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
public override async Task DateTimeOffset_DateAdd_AddSeconds(bool isAsync)
@ -2673,8 +2685,10 @@ FROM `Missions` AS `m`");
await base.DateTimeOffset_DateAdd_AddSeconds(isAsync);
AssertSql(
$@"SELECT DATEADD('s', CAST(1.0E0 AS int), `m`.`Timeline`)
FROM `Missions` AS `m`");
"""
SELECT DATEADD('s', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool isAsync)
@ -8957,8 +8971,8 @@ FROM `Gears` AS `g`
await base.DateTimeOffset_DateAdd_AddYears(async);
AssertSql(
"""
SELECT DATEADD(year, CAST(1 AS int), `m`.`Timeline`)
"""
SELECT DATEADD('yyyy', 1, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}

@ -26,7 +26,43 @@ public class TPCGearsOfWarQueryJetFixture : TPCGearsOfWarQueryRelationalFixture
// Drop constraint to workaround Jet limitation regarding compound foreign keys and NULL.
context.Database.ExecuteSql($"ALTER TABLE `Officers` DROP CONSTRAINT `FK_Officers_Officers_LeaderNickname_LeaderSquadId`");
base.Seed(context);
var squads = GearsOfWarData.CreateSquads();
var missions = GearsOfWarData.CreateMissions();
var squadMissions = GearsOfWarData.CreateSquadMissions();
var cities = GearsOfWarData.CreateCities();
var weapons = GearsOfWarData.CreateWeapons();
var tags = GearsOfWarData.CreateTags();
var gears = GearsOfWarData.CreateGears();
var locustLeaders = GearsOfWarData.CreateLocustLeaders();
var factions = GearsOfWarData.CreateFactions();
var locustHighCommands = GearsOfWarData.CreateHighCommands();
foreach (var mission in missions)
{
if (mission.Timeline.Year < 100)
{
mission.Timeline = mission.Timeline.AddYears(100);
}
}
GearsOfWarData.WireUp(
squads, missions, squadMissions, cities, weapons, tags, gears, locustLeaders, factions, locustHighCommands);
context.Squads.AddRange(squads);
context.Missions.AddRange(missions);
context.SquadMissions.AddRange(squadMissions);
context.Cities.AddRange(cities);
context.Weapons.AddRange(weapons);
context.Tags.AddRange(tags);
context.Gears.AddRange(gears);
context.LocustLeaders.AddRange(locustLeaders);
context.Factions.AddRange(factions);
context.LocustHighCommands.AddRange(locustHighCommands);
context.SaveChanges();
GearsOfWarData.WireUp2(locustLeaders, factions);
context.SaveChanges();
}
public override ISetSource GetExpectedData()
@ -35,6 +71,10 @@ public class TPCGearsOfWarQueryJetFixture : TPCGearsOfWarQueryRelationalFixture
foreach (var mission in data.Missions)
{
if (mission.Timeline.Year < 100)
{
mission.Timeline = mission.Timeline.AddYears(100);
}
mission.Timeline = JetTestHelpers.GetExpectedValue(mission.Timeline);
}

@ -3762,10 +3762,10 @@ WHERE DATEPART('y', `m`.`Timeline`) = 2
await base.Where_datetimeoffset_day_component(async);
AssertSql(
"""
SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline]
FROM [Missions] AS [m]
WHERE DATEPART(day, [m].[Timeline]) = 2
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('d', `m`.`Timeline`) = 2
""");
}
@ -3786,10 +3786,10 @@ WHERE DATEPART(hour, [m].[Timeline]) = 10
await base.Where_datetimeoffset_minute_component(async);
AssertSql(
"""
SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline]
FROM [Missions] AS [m]
WHERE DATEPART(minute, [m].[Timeline]) = 0
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('n', `m`.`Timeline`) = 0
""");
}
@ -3798,10 +3798,10 @@ WHERE DATEPART(minute, [m].[Timeline]) = 0
await base.Where_datetimeoffset_second_component(async);
AssertSql(
"""
SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline]
FROM [Missions] AS [m]
WHERE DATEPART(second, [m].[Timeline]) = 0
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('s', `m`.`Timeline`) = 0
""");
}
@ -3822,9 +3822,9 @@ WHERE DATEPART(millisecond, [m].[Timeline]) = 0
await base.DateTimeOffset_DateAdd_AddMonths(async);
AssertSql(
"""
SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('m', 1, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3833,9 +3833,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddDays(async);
AssertSql(
"""
SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('d', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3844,9 +3844,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddHours(async);
AssertSql(
"""
SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('h', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3855,9 +3855,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddMinutes(async);
AssertSql(
"""
SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('n', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3866,9 +3866,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddSeconds(async);
AssertSql(
"""
SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('s', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -4852,7 +4852,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
""");
}
@ -4876,7 +4876,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`)
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`)
LEFT JOIN `Squads` AS `s` ON `t0`.`SquadId` = `s`.`Id`
""");
}
@ -4901,7 +4901,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`)
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`)
LEFT JOIN (
SELECT `t2`.`Nickname`, `t2`.`SquadId`, `t2`.`AssignedCityName`, `t2`.`CityOfBirthName`, `t2`.`FullName`, `t2`.`HasSoulPatch`, `t2`.`LeaderNickname`, `t2`.`LeaderSquadId`, `t2`.`Rank`, `t2`.`Discriminator`, `c`.`Name`, `c`.`Location`, `c`.`Nation`
FROM (
@ -4937,7 +4937,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
""");
}
@ -4961,7 +4961,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
""");
}
@ -4985,7 +4985,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
""");
}
@ -5189,7 +5189,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
) AS `t1` ON `l`.`Id` = `t1`.`LocustHordeId`
ORDER BY `l`.`Id`, `t1`.`Name`, `t1`.`Nickname`
""");
@ -6712,7 +6712,7 @@ FROM (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`)
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`)
LEFT JOIN `Tags` AS `t1` ON (`t0`.`Nickname` = `t1`.`GearNickName` OR (`t0`.`Nickname` IS NULL AND `t1`.`GearNickName` IS NULL)) AND (`t0`.`SquadId` = `t1`.`GearSquadId` OR (`t0`.`SquadId` IS NULL AND `t1`.`GearSquadId` IS NULL))
ORDER BY `t1`.`Note`
) AS `t2`
@ -6726,16 +6726,16 @@ ORDER BY `t2`.`Note`, `t2`.`Name`, `t2`.`Nickname`, `t2`.`SquadId`, `t2`.`Id`
await base.Select_required_navigation_on_derived_type(async);
AssertSql(
"""
SELECT [l].[Name]
"""
SELECT `l`.`Name`
FROM (
SELECT NULL AS [HighCommandId]
FROM [LocustLeaders] AS [l0]
SELECT CVar(NULL) AS `HighCommandId`
FROM `LocustLeaders` AS `l0`
UNION ALL
SELECT [l1].[HighCommandId]
FROM [LocustCommanders] AS [l1]
) AS [t]
LEFT JOIN [LocustHighCommands] AS [l] ON [t].[HighCommandId] = [l].[Id]
SELECT `l1`.`HighCommandId`
FROM `LocustCommanders` AS `l1`
) AS `t`
LEFT JOIN `LocustHighCommands` AS `l` ON IIF(`t`.`HighCommandId` IS NULL, NULL, CLNG(`t`.`HighCommandId`)) = `l`.`Id`
""");
}
@ -6762,17 +6762,17 @@ INNER JOIN `Cities` AS `c` ON `t`.`CityOfBirthName` = `c`.`Name`
await base.Where_required_navigation_on_derived_type(async);
AssertSql(
"""
SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator]
"""
SELECT `t`.`Name`, `t`.`LocustHordeId`, `t`.`ThreatLevel`, `t`.`ThreatLevelByte`, `t`.`ThreatLevelNullableByte`, `t`.`DefeatedByNickname`, `t`.`DefeatedBySquadId`, `t`.`HighCommandId`, `t`.`Discriminator`
FROM (
SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator]
FROM [LocustLeaders] AS [l0]
SELECT `l0`.`Name`, `l0`.`LocustHordeId`, `l0`.`ThreatLevel`, `l0`.`ThreatLevelByte`, `l0`.`ThreatLevelNullableByte`, NULL AS `DefeatedByNickname`, CVar(NULL) AS `DefeatedBySquadId`, CVar(NULL) AS `HighCommandId`, 'LocustLeader' AS `Discriminator`
FROM `LocustLeaders` AS `l0`
UNION ALL
SELECT [l1].[Name], [l1].[LocustHordeId], [l1].[ThreatLevel], [l1].[ThreatLevelByte], [l1].[ThreatLevelNullableByte], [l1].[DefeatedByNickname], [l1].[DefeatedBySquadId], [l1].[HighCommandId], N'LocustCommander' AS [Discriminator]
FROM [LocustCommanders] AS [l1]
) AS [t]
LEFT JOIN [LocustHighCommands] AS [l] ON [t].[HighCommandId] = [l].[Id]
WHERE [l].[IsOperational] = CAST(1 AS bit)
SELECT `l1`.`Name`, `l1`.`LocustHordeId`, `l1`.`ThreatLevel`, `l1`.`ThreatLevelByte`, `l1`.`ThreatLevelNullableByte`, `l1`.`DefeatedByNickname`, `l1`.`DefeatedBySquadId`, `l1`.`HighCommandId`, 'LocustCommander' AS `Discriminator`
FROM `LocustCommanders` AS `l1`
) AS `t`
LEFT JOIN `LocustHighCommands` AS `l` ON IIF(`t`.`HighCommandId` IS NULL, NULL, CLNG(`t`.`HighCommandId`)) = `l`.`Id`
WHERE `l`.`IsOperational` = TRUE
""");
}
@ -11029,7 +11029,7 @@ ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]
await base.Accessing_derived_property_using_hard_and_soft_cast(async);
AssertSql(
"""
"""
SELECT `t`.`Name`, `t`.`LocustHordeId`, `t`.`ThreatLevel`, `t`.`ThreatLevelByte`, `t`.`ThreatLevelNullableByte`, `t`.`DefeatedByNickname`, `t`.`DefeatedBySquadId`, `t`.`HighCommandId`, `t`.`Discriminator`
FROM (
SELECT `l`.`Name`, `l`.`LocustHordeId`, `l`.`ThreatLevel`, `l`.`ThreatLevelByte`, `l`.`ThreatLevelNullableByte`, NULL AS `DefeatedByNickname`, CVar(NULL) AS `DefeatedBySquadId`, CVar(NULL) AS `HighCommandId`, 'LocustLeader' AS `Discriminator`
@ -11038,10 +11038,10 @@ FROM (
SELECT `l0`.`Name`, `l0`.`LocustHordeId`, `l0`.`ThreatLevel`, `l0`.`ThreatLevelByte`, `l0`.`ThreatLevelNullableByte`, `l0`.`DefeatedByNickname`, `l0`.`DefeatedBySquadId`, `l0`.`HighCommandId`, 'LocustCommander' AS `Discriminator`
FROM `LocustCommanders` AS `l0`
) AS `t`
WHERE `t`.`Discriminator` = 'LocustCommander' AND (CLNG(`t`.`HighCommandId`) <> 0 OR CLNG(`t`.`HighCommandId`) IS NULL)
WHERE `t`.`Discriminator` = 'LocustCommander' AND (IIF(`t`.`HighCommandId` IS NULL, NULL, CLNG(`t`.`HighCommandId`)) <> 0 OR IIF(`t`.`HighCommandId` IS NULL, NULL, CLNG(`t`.`HighCommandId`)) IS NULL)
""",
//
"""
//
"""
SELECT `t`.`Name`, `t`.`LocustHordeId`, `t`.`ThreatLevel`, `t`.`ThreatLevelByte`, `t`.`ThreatLevelNullableByte`, `t`.`DefeatedByNickname`, `t`.`DefeatedBySquadId`, `t`.`HighCommandId`, `t`.`Discriminator`
FROM (
SELECT `l`.`Name`, `l`.`LocustHordeId`, `l`.`ThreatLevel`, `l`.`ThreatLevelByte`, `l`.`ThreatLevelNullableByte`, NULL AS `DefeatedByNickname`, CVar(NULL) AS `DefeatedBySquadId`, CVar(NULL) AS `HighCommandId`, 'LocustLeader' AS `Discriminator`
@ -11050,7 +11050,7 @@ FROM (
SELECT `l0`.`Name`, `l0`.`LocustHordeId`, `l0`.`ThreatLevel`, `l0`.`ThreatLevelByte`, `l0`.`ThreatLevelNullableByte`, `l0`.`DefeatedByNickname`, `l0`.`DefeatedBySquadId`, `l0`.`HighCommandId`, 'LocustCommander' AS `Discriminator`
FROM `LocustCommanders` AS `l0`
) AS `t`
WHERE `t`.`Discriminator` = 'LocustCommander' AND (CLNG(`t`.`HighCommandId`) <> 0 OR CLNG(`t`.`HighCommandId`) IS NULL)
WHERE `t`.`Discriminator` = 'LocustCommander' AND (IIF(`t`.`HighCommandId` IS NULL, NULL, CLNG(`t`.`HighCommandId`)) <> 0 OR IIF(`t`.`HighCommandId` IS NULL, NULL, CLNG(`t`.`HighCommandId`)) IS NULL)
""");
}
@ -11074,7 +11074,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
WHERE `t`.`Name` LIKE '%Queen%'
""");
}
@ -11891,9 +11891,9 @@ ORDER BY [t].[Nickname], [t].[SquadId], [s].[Id]
await base.DateTimeOffset_DateAdd_AddYears(async);
AssertSql(
"""
SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('yyyy', 1, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -12166,7 +12166,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`)
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`)
LEFT JOIN `Weapons` AS `w` ON `t0`.`FullName` = `w`.`OwnerFullName`
WHERE `t`.`Name` LIKE '%Queen%'
ORDER BY `t`.`Name`, `t0`.`Nickname`, `t0`.`SquadId`
@ -12869,7 +12869,7 @@ LEFT JOIN (
UNION ALL
SELECT `o`.`Nickname`, `o`.`SquadId`, `o`.`AssignedCityName`, `o`.`CityOfBirthName`, `o`.`FullName`, `o`.`HasSoulPatch`, `o`.`LeaderNickname`, `o`.`LeaderSquadId`, `o`.`Rank`, 'Officer' AS `Discriminator`
FROM `Officers` AS `o`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND CLNG(`t`.`DefeatedBySquadId`) = `t0`.`SquadId`
) AS `t0` ON `t`.`DefeatedByNickname` = `t0`.`Nickname` AND IIF(`t`.`DefeatedBySquadId` IS NULL, NULL, CLNG(`t`.`DefeatedBySquadId`)) = `t0`.`SquadId`
""");
}

@ -789,13 +789,13 @@ ORDER BY `t`.`Id`, `t0`.`Id`, `o`.`BaseInheritanceRelationshipEntityId`, `d`.`Id
"""
SELECT `t`.`Id`, `t`.`Name`, `t`.`BaseId`, `t`.`Discriminator`, `d`.`Id`, `o`.`BaseInheritanceRelationshipEntityId`, `d0`.`Id`, `o0`.`BaseInheritanceRelationshipEntityId`, `o1`.`BaseInheritanceRelationshipEntityId`, `o1`.`Id`, `o1`.`Name`, `o`.`Id`, `o`.`Name`, `d1`.`DerivedInheritanceRelationshipEntityId`, `d1`.`Id`, `d1`.`Name`, `d0`.`OwnedReferenceOnDerived_Id`, `d0`.`OwnedReferenceOnDerived_Name`, `d`.`Name`, `d`.`BaseId`, `o2`.`BaseInheritanceRelationshipEntityId`, `o2`.`Id`, `o2`.`Name`, `o0`.`Id`, `o0`.`Name`, `d2`.`DerivedInheritanceRelationshipEntityId`, `d2`.`Id`, `d2`.`Name`, `d`.`OwnedReferenceOnDerived_Id`, `d`.`OwnedReferenceOnDerived_Name`
FROM ((((((((
SELECT `b`.`Id`, `b`.`Name`, NULL AS `BaseId`, 'BaseInheritanceRelationshipEntity' AS `Discriminator`
SELECT `b`.`Id`, `b`.`Name`, CVar(NULL) AS `BaseId`, 'BaseInheritanceRelationshipEntity' AS `Discriminator`
FROM `BaseEntities` AS `b`
UNION ALL
SELECT `d3`.`Id`, `d3`.`Name`, `d3`.`BaseId`, 'DerivedInheritanceRelationshipEntity' AS `Discriminator`
FROM `DerivedEntities` AS `d3`
) AS `t`
LEFT JOIN `DerivedEntities` AS `d` ON `t`.`Id` = `d`.`BaseId`)
LEFT JOIN `DerivedEntities` AS `d` ON `t`.`Id` = IIF(`d`.`BaseId` IS NULL, NULL, CLNG(`d`.`BaseId`)))
LEFT JOIN `OwnedReferences` AS `o` ON `t`.`Id` = `o`.`BaseInheritanceRelationshipEntityId`)
LEFT JOIN `DerivedEntities` AS `d0` ON `t`.`Id` = `d0`.`Id`)
LEFT JOIN `OwnedReferences` AS `o0` ON `d`.`Id` = `o0`.`BaseInheritanceRelationshipEntityId`)
@ -816,12 +816,12 @@ ORDER BY `t`.`Id`, `d`.`Id`, `o`.`BaseInheritanceRelationshipEntityId`, `d0`.`Id
SELECT `d`.`Id`, `d`.`Name`, `d`.`BaseId`, `t`.`Id`, `o`.`BaseInheritanceRelationshipEntityId`, `o0`.`BaseInheritanceRelationshipEntityId`, `d0`.`Id`, `o1`.`BaseInheritanceRelationshipEntityId`, `o1`.`Id`, `o1`.`Name`, `o`.`Id`, `o`.`Name`, `d1`.`DerivedInheritanceRelationshipEntityId`, `d1`.`Id`, `d1`.`Name`, `d`.`Id`, `d`.`OwnedReferenceOnDerived_Id`, `d`.`OwnedReferenceOnDerived_Name`, `t`.`Name`, `t`.`BaseId`, `t`.`Discriminator`, `o2`.`BaseInheritanceRelationshipEntityId`, `o2`.`Id`, `o2`.`Name`, `o0`.`Id`, `o0`.`Name`, `d2`.`DerivedInheritanceRelationshipEntityId`, `d2`.`Id`, `d2`.`Name`, `d0`.`OwnedReferenceOnDerived_Id`, `d0`.`OwnedReferenceOnDerived_Name`
FROM (((((((`DerivedEntities` AS `d`
LEFT JOIN (
SELECT `b`.`Id`, `b`.`Name`, NULL AS `BaseId`, 'BaseInheritanceRelationshipEntity' AS `Discriminator`
SELECT `b`.`Id`, `b`.`Name`, CVar(NULL) AS `BaseId`, 'BaseInheritanceRelationshipEntity' AS `Discriminator`
FROM `BaseEntities` AS `b`
UNION ALL
SELECT `d3`.`Id`, `d3`.`Name`, `d3`.`BaseId`, 'DerivedInheritanceRelationshipEntity' AS `Discriminator`
FROM `DerivedEntities` AS `d3`
) AS `t` ON `d`.`BaseId` = `t`.`Id`)
) AS `t` ON IIF(`d`.`BaseId` IS NULL, NULL, CLNG(`d`.`BaseId`)) = `t`.`Id`)
LEFT JOIN `OwnedReferences` AS `o` ON `d`.`Id` = `o`.`BaseInheritanceRelationshipEntityId`)
LEFT JOIN `OwnedReferences` AS `o0` ON `t`.`Id` = `o0`.`BaseInheritanceRelationshipEntityId`)
LEFT JOIN `DerivedEntities` AS `d0` ON `t`.`Id` = `d0`.`Id`)

@ -26,7 +26,43 @@ public class TPTGearsOfWarQueryJetFixture : TPTGearsOfWarQueryRelationalFixture
// Drop constraint to workaround Jet limitation regarding compound foreign keys and NULL.
context.Database.ExecuteSql($"ALTER TABLE `Gears` DROP CONSTRAINT `FK_Gears_Officers_LeaderNickname_LeaderSquadId`");
base.Seed(context);
var squads = GearsOfWarData.CreateSquads();
var missions = GearsOfWarData.CreateMissions();
var squadMissions = GearsOfWarData.CreateSquadMissions();
var cities = GearsOfWarData.CreateCities();
var weapons = GearsOfWarData.CreateWeapons();
var tags = GearsOfWarData.CreateTags();
var gears = GearsOfWarData.CreateGears();
var locustLeaders = GearsOfWarData.CreateLocustLeaders();
var factions = GearsOfWarData.CreateFactions();
var locustHighCommands = GearsOfWarData.CreateHighCommands();
foreach (var mission in missions)
{
if (mission.Timeline.Year < 100)
{
mission.Timeline = mission.Timeline.AddYears(100);
}
}
GearsOfWarData.WireUp(
squads, missions, squadMissions, cities, weapons, tags, gears, locustLeaders, factions, locustHighCommands);
context.Squads.AddRange(squads);
context.Missions.AddRange(missions);
context.SquadMissions.AddRange(squadMissions);
context.Cities.AddRange(cities);
context.Weapons.AddRange(weapons);
context.Tags.AddRange(tags);
context.Gears.AddRange(gears);
context.LocustLeaders.AddRange(locustLeaders);
context.Factions.AddRange(factions);
context.LocustHighCommands.AddRange(locustHighCommands);
context.SaveChanges();
GearsOfWarData.WireUp2(locustLeaders, factions);
context.SaveChanges();
}
public override ISetSource GetExpectedData()
@ -35,6 +71,10 @@ public class TPTGearsOfWarQueryJetFixture : TPTGearsOfWarQueryRelationalFixture
foreach (var mission in data.Missions)
{
if (mission.Timeline.Year < 100)
{
mission.Timeline = mission.Timeline.AddYears(100);
}
mission.Timeline = JetTestHelpers.GetExpectedValue(mission.Timeline);
}

@ -3013,10 +3013,10 @@ WHERE DATEPART('y', `m`.`Timeline`) = 2
await base.Where_datetimeoffset_day_component(async);
AssertSql(
"""
SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline]
FROM [Missions] AS [m]
WHERE DATEPART(day, [m].[Timeline]) = 2
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('d', `m`.`Timeline`) = 2
""");
}
@ -3037,10 +3037,10 @@ WHERE DATEPART(hour, [m].[Timeline]) = 10
await base.Where_datetimeoffset_minute_component(async);
AssertSql(
"""
SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline]
FROM [Missions] AS [m]
WHERE DATEPART(minute, [m].[Timeline]) = 0
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('n', `m`.`Timeline`) = 0
""");
}
@ -3049,10 +3049,10 @@ WHERE DATEPART(minute, [m].[Timeline]) = 0
await base.Where_datetimeoffset_second_component(async);
AssertSql(
"""
SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline]
FROM [Missions] AS [m]
WHERE DATEPART(second, [m].[Timeline]) = 0
"""
SELECT `m`.`Id`, `m`.`CodeName`, `m`.`Date`, `m`.`Duration`, `m`.`Rating`, `m`.`Time`, `m`.`Timeline`
FROM `Missions` AS `m`
WHERE DATEPART('s', `m`.`Timeline`) = 0
""");
}
@ -3073,9 +3073,9 @@ WHERE DATEPART(millisecond, [m].[Timeline]) = 0
await base.DateTimeOffset_DateAdd_AddMonths(async);
AssertSql(
"""
SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('m', 1, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3084,9 +3084,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddDays(async);
AssertSql(
"""
SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('d', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3095,9 +3095,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddHours(async);
AssertSql(
"""
SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('h', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3106,9 +3106,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddMinutes(async);
AssertSql(
"""
SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('n', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -3117,9 +3117,9 @@ FROM [Missions] AS [m]
await base.DateTimeOffset_DateAdd_AddSeconds(async);
AssertSql(
"""
SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline])
FROM [Missions] AS [m]
"""
SELECT DATEADD('s', 1.0, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}
@ -9623,10 +9623,9 @@ ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id]
await base.DateTimeOffset_DateAdd_AddYears(async);
AssertSql(
"""
SELECT `g`.`Nickname`, `g`.`SquadId`, `g`.`AssignedCityName`, `g`.`CityOfBirthName`, `g`.`FullName`, `g`.`HasSoulPatch`, `g`.`LeaderNickname`, `g`.`LeaderSquadId`, `g`.`Rank`, IIF(`o`.`Nickname` IS NOT NULL, 'Officer', NULL) AS `Discriminator`
FROM `Gears` AS `g`
LEFT JOIN `Officers` AS `o` ON `g`.`Nickname` = `o`.`Nickname` AND `g`.`SquadId` = `o`.`SquadId`
"""
SELECT DATEADD('yyyy', 1, `m`.`Timeline`)
FROM `Missions` AS `m`
""");
}

@ -1135,7 +1135,7 @@ CREATE TABLE MyTable (
@"
CREATE TABLE MyTable (
Id int,
A datetime DEFAULT #1973-09-03 12:00:01#
A datetime DEFAULT '1973-09-03 12:00:01'
);",
Enumerable.Empty<string>(),
Enumerable.Empty<string>(),
@ -1144,7 +1144,7 @@ CREATE TABLE MyTable (
var columns = dbModel.Tables.Single().Columns;
var column = columns.Single(c => c.Name == "A");
Assert.Equal("('1973-09-03T12:00:01')", column.DefaultValueSql);
Assert.Equal("'1973-09-03 12:00:01'", column.DefaultValueSql);
Assert.Equal(new DateTime(1973, 9, 3, 12, 0, 1, 0, DateTimeKind.Unspecified), column.DefaultValue);
},
"DROP TABLE MyTable;");

@ -107,7 +107,7 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities
IReadOnlyList<IRelationalParameter> parameters)
{
_realRelationalCommand = new RelationalCommand(dependencies, commandText, parameters);
_createExceptionFunc = TestEnvironment.DataAccessProviderType == DataAccessProviderType.OleDb
? number => OleDbExceptionFactory.CreateException(number)
: number => OdbcExceptionFactory.CreateException(number);
@ -219,7 +219,7 @@ namespace EntityFrameworkCore.Jet.FunctionalTests.TestUtilities
RelationalCommandParameterObject parameterObject,
Guid commandId,
DbCommandMethod commandMethod)
=> throw new NotSupportedException();
=> _realRelationalCommand.CreateDbCommand(parameterObject, commandId, commandMethod);
public void PopulateFrom(IRelationalCommandTemplate commandTemplate)
=> _realRelationalCommand.PopulateFrom(commandTemplate);

@ -217,8 +217,7 @@ AS DELETE FROM [Entity] WHERE [Id] = @Id
"""
@p0='1'
SET NOCOUNT ON;
EXEC [Entity_Delete] @p0;
EXEC `Entity_Delete` p0;
""");
}
@ -227,7 +226,7 @@ EXEC [Entity_Delete] @p0;
await base.Delete_and_insert(
async,
"""
CREATE PROCEDURE Entity_Insert(@Name varchar(max), @Id int OUT)
CREATE PROCEDURE Entity_Insert(@Name varchar(255), @Id int OUT)
AS BEGIN
INSERT INTO [Entity] ([Name]) VALUES (@Name);
SET @Id = SCOPE_IDENTITY();
@ -607,7 +606,7 @@ END;
SET NOCOUNT ON;
EXEC [Parent_Insert] @p0 OUTPUT, @p1;
""",
//
//
"""
@p2='1'
@p3='8'
@ -637,7 +636,7 @@ END
SET NOCOUNT ON;
EXEC [Parent_Insert] @p0 OUTPUT, @p1;
""",
//
//
"""
@p2='1'
@p3='8'

@ -3,8 +3,11 @@
#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Net;
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
@ -70,8 +73,8 @@ public class ValueConvertersEndToEndJetTest
[InlineData(nameof(ConvertingEntity.StringToNullableChar), "varchar(1)", false)]
[InlineData(nameof(ConvertingEntity.StringToDateTime), "datetime", false)]
[InlineData(nameof(ConvertingEntity.StringToNullableDateTime), "datetime", false)]
[InlineData(nameof(ConvertingEntity.StringToDateTimeOffset), "datetime", false)]
[InlineData(nameof(ConvertingEntity.StringToNullableDateTimeOffset), "datetime", false)]
//[InlineData(nameof(ConvertingEntity.StringToDateTimeOffset), "datetime", false)]
//[InlineData(nameof(ConvertingEntity.StringToNullableDateTimeOffset), "datetime", false)]
[InlineData(nameof(ConvertingEntity.StringToEnum), "integer", false)]
[InlineData(nameof(ConvertingEntity.StringToNullableEnum), "integer", false)]
[InlineData(nameof(ConvertingEntity.StringToGuid), "uniqueidentifier", false)]
@ -134,8 +137,8 @@ public class ValueConvertersEndToEndJetTest
[InlineData(nameof(ConvertingEntity.NullableStringToNullableChar), "varchar(1)", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToDateTime), "datetime", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToNullableDateTime), "datetime", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToDateTimeOffset), "datetime", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToNullableDateTimeOffset), "datetime", true)]
//[InlineData(nameof(ConvertingEntity.NullableStringToDateTimeOffset), "datetime", true)]
//[InlineData(nameof(ConvertingEntity.NullableStringToNullableDateTimeOffset), "datetime", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToEnum), "integer", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToNullableEnum), "integer", true)]
[InlineData(nameof(ConvertingEntity.NullableStringToGuid), "uniqueidentifier", true)]
@ -228,6 +231,11 @@ WHERE CAST(DATALENGTH(CAST(N'' AS nvarchar(max))) AS int) = 1
b.Property(e => e.ListOfInt).HasDefaultValue(new List<int>());
b.Property(e => e.NullableEnumerableOfInt).HasDefaultValue(Enumerable.Empty<int>());
b.Property(e => e.EnumerableOfInt).HasDefaultValue(Enumerable.Empty<int>());
b.Ignore(e => e.StringToDateTimeOffset);
b.Ignore(e => e.StringToNullableDateTimeOffset);
b.Ignore(e => e.NullableStringToDateTimeOffset);
b.Ignore(e => e.NullableStringToNullableDateTimeOffset);
});
}
}

Loading…
Cancel
Save