diff --git a/Dependencies.targets b/Dependencies.targets index c9c6779..42042a5 100644 --- a/Dependencies.targets +++ b/Dependencies.targets @@ -1,6 +1,6 @@ - [8.0.1, 9.0.0) + [8.0.2, 9.0.0) @@ -28,10 +28,10 @@ - - - - + + + + diff --git a/src/EFCore.Jet/Query/Internal/SearchConditionConvertingExpressionVisitor.cs b/src/EFCore.Jet/Query/Internal/SearchConditionConvertingExpressionVisitor.cs index 67fbbda..858df92 100644 --- a/src/EFCore.Jet/Query/Internal/SearchConditionConvertingExpressionVisitor.cs +++ b/src/EFCore.Jet/Query/Internal/SearchConditionConvertingExpressionVisitor.cs @@ -510,7 +510,17 @@ namespace EntityFrameworkCore.Jet.Query.Internal protected override Expression VisitRowValue(RowValueExpression rowValueExpression) { - throw new NotImplementedException(); + var parentSearchCondition = _isSearchCondition; + _isSearchCondition = false; + + var values = new SqlExpression[rowValueExpression.Values.Count]; + for (var i = 0; i < values.Length; i++) + { + values[i] = (SqlExpression)Visit(rowValueExpression.Values[i]); + } + + _isSearchCondition = parentSearchCondition; + return rowValueExpression.Update(values); } /// @@ -675,9 +685,25 @@ namespace EntityFrameworkCore.Jet.Query.Internal protected override Expression VisitJsonScalar(JsonScalarExpression jsonScalarExpression) => jsonScalarExpression; + /// + /// 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. + /// protected override Expression VisitValues(ValuesExpression valuesExpression) { - throw new NotImplementedException(); + var parentSearchCondition = _isSearchCondition; + _isSearchCondition = false; + + var rowValues = new RowValueExpression[valuesExpression.RowValues.Count]; + for (var i = 0; i < rowValues.Length; i++) + { + rowValues[i] = (RowValueExpression)Visit(valuesExpression.RowValues[i]); + } + + _isSearchCondition = parentSearchCondition; + return valuesExpression.Update(rowValues); } } } diff --git a/test/EFCore.Jet.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesJetTest.cs b/test/EFCore.Jet.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesJetTest.cs index 369ca20..72652e3 100644 --- a/test/EFCore.Jet.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesJetTest.cs @@ -1032,7 +1032,7 @@ WHERE `c`.`CustomerID` LIKE 'F%' AssertExecuteUpdateSql( $""" -@__value_0='Abc' (Size = 30) +@__value_0='Abc' (Size = 255) UPDATE `Customers` AS `c` SET `c`.`ContactName` = IIF(`c`.`ContactName` IS NULL, '', `c`.`ContactName`) & {AssertSqlHelper.Parameter("@__value_0")} diff --git a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt index d48754e..37ca3f8 100644 --- a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt +++ b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt @@ -2850,6 +2850,13 @@ EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converte EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converted_type_JSON_values(value: 0, json: "{\"Prop\":0}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converted_type_JSON_values(value: 1, json: "{\"Prop\":1}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converted_type_JSON_values(value: 2147483647, json: "{\"Prop\":2147483647}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "::", json: "{\"Prop\":\"::\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "::1", json: "{\"Prop\":\"::1\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "0.0.0.0", json: "{\"Prop\":\"0.0.0.0\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "127.0.0.1", json: "{\"Prop\":\"127.0.0.1\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "192.168.1.156", json: "{\"Prop\":\"192.168.1.156\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "255.255.255.255", json: "{\"Prop\":\"255.255.255.255\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577", json: "{\"Prop\":\"2a00:23c7:c60f:4f01:ba43:6d5a:e648:757"...) EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_DateOnly_JSON_values(value: "1/1/0001", json: "{\"Prop\":\"0001-01-01\"}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_DateOnly_JSON_values(value: "12/31/9999", json: "{\"Prop\":\"9999-12-31\"}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_DateOnly_JSON_values(value: "5/29/2023", json: "{\"Prop\":\"2023-05-29\"}") @@ -2868,6 +2875,8 @@ EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_J EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_JSON_values(value: 0, json: "{\"Prop\":0}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_JSON_values(value: 1.1000000000000001, json: "{\"Prop\":1.1}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_JSON_values(value: 1.7976931348623157E+308, json: "{\"Prop\":1.7976931348623157E+308}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_enum_char_converted_type_JSON_values(value: FieldA, json: "{\"Prop\":\"A\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_enum_char_converted_type_JSON_values(value: FieldB, json: "{\"Prop\":\"B\"}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_float_JSON_values(value: -3.40282347E+38, json: "{\"Prop\":-3.4028235E+38}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_float_JSON_values(value: 0, json: "{\"Prop\":0}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_float_JSON_values(value: 1.10000002, json: "{\"Prop\":1.1}") @@ -3293,6 +3302,7 @@ EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_comparable_struct_key_and_optional_dependents_with_shadow_FK EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_comparable_struct_key_and_required_dependents EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_comparable_struct_key_and_required_dependents_with_shadow_FK +EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_enumerable_class_key_and_optional_dependents EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_optional_dependents EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_optional_dependents_with_shadow_FK EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_required_dependents @@ -3344,6 +3354,8 @@ EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Attached_references EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Attached_references_to_principal_are_marked_as_loaded(state: Unchanged, lazy: False) EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Attached_references_to_principal_are_marked_as_loaded(state: Unchanged, lazy: True) EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Can_serialize_proxies_to_JSON +EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Can_use_proxies_from_multiple_threads_when_navigations_already_loaded(noTracking: False) +EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Can_use_proxies_from_multiple_threads_when_navigations_already_loaded(noTracking: True) EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Detected_dependent_reference_navigation_changes_are_detected_and_marked_loaded EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Detected_principal_reference_navigation_changes_are_detected_and_marked_loaded EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Eager_load_one_to_many_non_virtual_collection_of_owned_types @@ -10464,6 +10476,20 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJe EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Collection_Last_member_access_in_projection_translated(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Collection_LastOrDefault_member_access_in_projection_translated(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Collection_LastOrDefault_member_access_in_projection_translated(isAsync: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_aggregate_function_with_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_aggregate_function_with_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Average_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Average_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Count_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Count_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_LongCount_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_LongCount_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Max_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Max_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Min_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Min_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Sum_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Sum_without_GroupBy(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_over_entityType_should_materialize_when_composite(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_over_entityType_should_materialize_when_composite(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_over_entityType_should_materialize_when_composite2(async: False) @@ -12360,6 +12386,12 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Concat_string_int(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Concat_string_int(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Concurrent_async_queries_when_raw_query +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_column_and_constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_column_and_constant(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_both_fixed_length(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_both_fixed_length(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_with_different_sizes(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_with_different_sizes(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_with_DateTime_Date(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_with_DateTime_Date(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_with_subquery_involving_join_binds_to_correct_table(isAsync: False) @@ -14197,6 +14229,14 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Constan EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Decimal_cast_to_double_works(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Decimal_cast_to_double_works(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_non_evaluatable_argument_throws(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_non_evaluatable_argument_throws(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_subtree(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_subtree(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Enclosing_class_const_member_does_not_generate_parameter(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Enclosing_class_const_member_does_not_generate_parameter(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Enclosing_class_readonly_member_generates_parameter(isAsync: False) @@ -14784,26 +14824,26 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_sem EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_nullable_item_with_non_nullable_subquery(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_nullable_item_with_nullable_subquery(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_nullable_item_with_nullable_subquery(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values_with_null(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values_with_null(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_null(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column_and_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column_and_null(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_one_value(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_one_value(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values_with_null(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values_with_null(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_null(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_nullable_column(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_nullable_column(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_one_value(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_one_value(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_values_with_nullable_column_and_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_values_with_nullable_column_and_null(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_function(async: False) @@ -15174,6 +15214,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.I EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_all_parameters(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_constant_and_parameter(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_constant_and_parameter(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_EF_Constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_EF_Constant(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_mixed_value_types(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_mixed_value_types(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_one_value(async: False) @@ -15234,16 +15276,22 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.P EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_DateTimes_Contains(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_enums_Contains(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_enums_Contains(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_int(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_int(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_nullable_int(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_nullable_int(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_int(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_int(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_nullable_int(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_nullable_int(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_non_nullable_string(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_non_nullable_string(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_nullable_string(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_nullable_string(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_string(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_string(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_nullable_string(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_nullable_string(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_string(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_string(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Project_collection_of_datetimes_filtered(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Project_collection_of_datetimes_filtered(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Project_collection_of_ints_ordered(async: False) diff --git a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt index 0ce4dfb..d73fc74 100644 --- a/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt +++ b/test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt @@ -2915,6 +2915,13 @@ EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converte EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converted_type_JSON_values(value: 0, json: "{\"Prop\":0}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converted_type_JSON_values(value: 1, json: "{\"Prop\":1}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_converted_type_JSON_values(value: 2147483647, json: "{\"Prop\":2147483647}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "::", json: "{\"Prop\":\"::\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "::1", json: "{\"Prop\":\"::1\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "0.0.0.0", json: "{\"Prop\":\"0.0.0.0\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "127.0.0.1", json: "{\"Prop\":\"127.0.0.1\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "192.168.1.156", json: "{\"Prop\":\"192.168.1.156\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "255.255.255.255", json: "{\"Prop\":\"255.255.255.255\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_custom_converted_type_JSON_values(value: "2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577", json: "{\"Prop\":\"2a00:23c7:c60f:4f01:ba43:6d5a:e648:757"...) EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_DateOnly_JSON_values(value: "1/1/0001", json: "{\"Prop\":\"0001-01-01\"}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_DateOnly_JSON_values(value: "12/31/9999", json: "{\"Prop\":\"9999-12-31\"}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_DateOnly_JSON_values(value: "5/29/2023", json: "{\"Prop\":\"2023-05-29\"}") @@ -2933,6 +2940,8 @@ EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_J EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_JSON_values(value: 0, json: "{\"Prop\":0}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_JSON_values(value: 1.1000000000000001, json: "{\"Prop\":1.1}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_double_JSON_values(value: 1.7976931348623157E+308, json: "{\"Prop\":1.7976931348623157E+308}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_enum_char_converted_type_JSON_values(value: FieldA, json: "{\"Prop\":\"A\"}") +EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_enum_char_converted_type_JSON_values(value: FieldB, json: "{\"Prop\":\"B\"}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_float_JSON_values(value: -3.40282347E+38, json: "{\"Prop\":-3.4028235E+38}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_float_JSON_values(value: 0, json: "{\"Prop\":0}") EntityFrameworkCore.Jet.FunctionalTests.JsonTypesJetTest.Can_read_write_float_JSON_values(value: 1.10000002, json: "{\"Prop\":1.1}") @@ -3358,6 +3367,7 @@ EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_comparable_struct_key_and_optional_dependents_with_shadow_FK EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_comparable_struct_key_and_required_dependents EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_comparable_struct_key_and_required_dependents_with_shadow_FK +EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_enumerable_class_key_and_optional_dependents EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_optional_dependents EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_optional_dependents_with_shadow_FK EntityFrameworkCore.Jet.FunctionalTests.KeysWithConvertersJetTest.Can_insert_and_read_back_with_generic_comparable_struct_binary_key_and_required_dependents @@ -3409,6 +3419,8 @@ EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Attached_references EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Attached_references_to_principal_are_marked_as_loaded(state: Unchanged, lazy: False) EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Attached_references_to_principal_are_marked_as_loaded(state: Unchanged, lazy: True) EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Can_serialize_proxies_to_JSON +EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Can_use_proxies_from_multiple_threads_when_navigations_already_loaded(noTracking: False) +EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Can_use_proxies_from_multiple_threads_when_navigations_already_loaded(noTracking: True) EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Detected_dependent_reference_navigation_changes_are_detected_and_marked_loaded EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Detected_principal_reference_navigation_changes_are_detected_and_marked_loaded EntityFrameworkCore.Jet.FunctionalTests.LazyLoadProxyJetTest.Eager_load_one_to_many_non_virtual_collection_of_owned_types @@ -10572,8 +10584,6 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(isAsync: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(isAsync: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(isAsync: False) @@ -10950,6 +10960,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Trying_to_a EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Trying_to_access_unmapped_property_inside_subquery(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Trying_to_access_unmapped_property_throws_informative_error(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Trying_to_access_unmapped_property_throws_informative_error(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(isAsync: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.GearsOfWarQueryJetTest.Where_any_subquery_without_collision(isAsync: False) @@ -11624,6 +11636,20 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJe EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Collection_Last_member_access_in_projection_translated(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Collection_LastOrDefault_member_access_in_projection_translated(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Collection_LastOrDefault_member_access_in_projection_translated(isAsync: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_aggregate_function_with_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_aggregate_function_with_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Average_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Average_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Count_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Count_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_LongCount_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_LongCount_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Max_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Max_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Min_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Min_without_GroupBy(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Sum_without_GroupBy(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_inside_Sum_without_GroupBy(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_over_entityType_should_materialize_when_composite(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_over_entityType_should_materialize_when_composite(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindAggregateOperatorsQueryJetTest.Contains_over_entityType_should_materialize_when_composite2(async: False) @@ -13520,6 +13546,16 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Concat_string_int(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Concat_string_int(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Concurrent_async_queries_when_raw_query +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_column_and_constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_column_and_constant(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_column_and_parameter(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_column_and_parameter(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_both_fixed_length(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_both_fixed_length(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_with_different_sizes(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_columns_with_different_sizes(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_parameter_and_constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_over_concatenated_parameter_and_constant(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_with_DateTime_Date(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_with_DateTime_Date(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Contains_with_subquery_involving_join_binds_to_correct_table(isAsync: False) @@ -15357,6 +15393,14 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Constan EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Decimal_cast_to_double_works(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Decimal_cast_to_double_works(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_non_evaluatable_argument_throws(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_non_evaluatable_argument_throws(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_subtree(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant_with_subtree(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.EF_Constant(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Enclosing_class_const_member_does_not_generate_parameter(isAsync: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Enclosing_class_const_member_does_not_generate_parameter(isAsync: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindWhereQueryJetTest.Enclosing_class_readonly_member_generates_parameter(isAsync: False) @@ -15944,26 +15988,26 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_sem EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_nullable_item_with_non_nullable_subquery(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_nullable_item_with_nullable_subquery(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_nullable_item_with_nullable_subquery(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values_with_null(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_non_nullable_values(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values_with_null(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_nullable_values(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_null(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column_and_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column_and_null(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_inline_values_with_nullable_column(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_one_value(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_non_nullable_item_and_one_value(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values_with_null(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_non_nullable_values(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values_with_null(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values_with_null(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_nullable_values(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_null(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_nullable_column(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_inline_values_with_nullable_column(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_one_value(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_one_value(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_values_with_nullable_column_and_null(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains_with_nullable_item_and_values_with_nullable_column_and_null(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_contains(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.NullSemanticsQueryJetTest.Null_semantics_function(async: False) @@ -16334,6 +16378,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.I EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_all_parameters(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_constant_and_parameter(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_constant_and_parameter(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_EF_Constant(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_EF_Constant(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_mixed_value_types(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_mixed_value_types(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Inline_collection_Contains_with_one_value(async: False) @@ -16394,16 +16440,22 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.P EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_DateTimes_Contains(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_enums_Contains(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_enums_Contains(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_int(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_int(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_nullable_int(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_ints_Contains_nullable_int(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_int(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_int(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_nullable_int(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_ints_Contains_nullable_int(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_non_nullable_string(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_non_nullable_string(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_nullable_string(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_nullable_string(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_string(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_nullable_strings_Contains_string(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_nullable_string(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_nullable_string(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_string(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Parameter_collection_of_strings_Contains_string(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Project_collection_of_datetimes_filtered(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Project_collection_of_datetimes_filtered(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.PrimitiveCollectionsQueryJetTest.Project_collection_of_ints_ordered(async: False) @@ -17398,8 +17450,6 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unic EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async: False) @@ -17774,6 +17824,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Trying_t EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Trying_to_access_unmapped_property_inside_subquery(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Trying_to_access_unmapped_property_throws_informative_error(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Trying_to_access_unmapped_property_throws_informative_error(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPCGearsOfWarQueryJetTest.Where_any_subquery_without_collision(async: False) @@ -19169,8 +19221,6 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unic EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async: True) -EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: False) -EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async: False) @@ -19547,6 +19597,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Trying_t EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Trying_to_access_unmapped_property_inside_subquery(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Trying_to_access_unmapped_property_throws_informative_error(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Trying_to_access_unmapped_property_throws_informative_error(async: True) +EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: False) +EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async: False) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async: True) EntityFrameworkCore.Jet.FunctionalTests.Query.TPTGearsOfWarQueryJetTest.Where_any_subquery_without_collision(async: False) diff --git a/test/EFCore.Jet.FunctionalTests/MigrationsInfrastructureJetTest.cs b/test/EFCore.Jet.FunctionalTests/MigrationsInfrastructureJetTest.cs index 86420e8..42e40c2 100644 --- a/test/EFCore.Jet.FunctionalTests/MigrationsInfrastructureJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/MigrationsInfrastructureJetTest.cs @@ -101,6 +101,13 @@ VALUES ('00000000000003_Migration3', '7.0.0-test'); COMMIT TRANSACTION; +BEGIN TRANSACTION; + +INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`) +VALUES ('00000000000004_Migration4', '7.0.0-test'); + +COMMIT TRANSACTION; + ", Sql, ignoreLineEndingDifferences: true); diff --git a/test/EFCore.Jet.FunctionalTests/Query/GearsOfWarQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/GearsOfWarQueryJetTest.cs index 0c44c9b..507d999 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/GearsOfWarQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/GearsOfWarQueryJetTest.cs @@ -2009,9 +2009,9 @@ WHERE `c`.`Location` LIKE '%Jacinto%' """); } - public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool isAsync) + public override async Task Unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool isAsync) { - await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(isAsync); + await base.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(isAsync); AssertSql( """ diff --git a/test/EFCore.Jet.FunctionalTests/Query/NorthwindAggregateOperatorsQueryJetTest.ResultOperators.cs b/test/EFCore.Jet.FunctionalTests/Query/NorthwindAggregateOperatorsQueryJetTest.ResultOperators.cs index c1d2e00..7e7aca9 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/NorthwindAggregateOperatorsQueryJetTest.ResultOperators.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/NorthwindAggregateOperatorsQueryJetTest.ResultOperators.cs @@ -2464,6 +2464,86 @@ FROM [Customers] AS [c] """); } + public override async Task Contains_inside_aggregate_function_with_GroupBy(bool async) + { + await base.Contains_inside_aggregate_function_with_GroupBy(async); + + AssertSql( + """ +SELECT COUNT(IIF(`c`.`City` IN ('London', 'Berlin'), 1, NULL)) +FROM `Customers` AS `c` +GROUP BY `c`.`Country` +"""); + } + + public override async Task Contains_inside_Average_without_GroupBy(bool async) + { + await base.Contains_inside_Average_without_GroupBy(async); + + AssertSql( + """ +SELECT AVG(IIF(`c`.`City` IN ('London', 'Berlin'), 1.0, 0.0)) +FROM `Customers` AS `c` +"""); + } + + public override async Task Contains_inside_Sum_without_GroupBy(bool async) + { + await base.Contains_inside_Sum_without_GroupBy(async); + + AssertSql( + """ +SELECT IIF(SUM(IIF(`c`.`City` IN ('London', 'Berlin'), 1, 0)) IS NULL, 0, SUM(IIF(`c`.`City` IN ('London', 'Berlin'), 1, 0))) +FROM `Customers` AS `c` +"""); + } + + public override async Task Contains_inside_Count_without_GroupBy(bool async) + { + await base.Contains_inside_Count_without_GroupBy(async); + + AssertSql( + """ +SELECT COUNT(*) +FROM `Customers` AS `c` +WHERE `c`.`City` IN ('London', 'Berlin') +"""); + } + + public override async Task Contains_inside_LongCount_without_GroupBy(bool async) + { + await base.Contains_inside_LongCount_without_GroupBy(async); + + AssertSql( + """ +SELECT COUNT(*) +FROM `Customers` AS `c` +WHERE `c`.`City` IN ('London', 'Berlin') +"""); + } + + public override async Task Contains_inside_Max_without_GroupBy(bool async) + { + await base.Contains_inside_Max_without_GroupBy(async); + + AssertSql( + """ +SELECT MAX(IIF(`c`.`City` IN ('London', 'Berlin'), 1, 0)) +FROM `Customers` AS `c` +"""); + } + + public override async Task Contains_inside_Min_without_GroupBy(bool async) + { + await base.Contains_inside_Min_without_GroupBy(async); + + AssertSql( + """ +SELECT MIN(IIF(`c`.`City` IN ('London', 'Berlin'), 1, 0)) +FROM `Customers` AS `c` +"""); + } + private void AssertSql(params string[] expected) => Fixture.TestSqlLoggerFactory.AssertBaseline(expected); diff --git a/test/EFCore.Jet.FunctionalTests/Query/NorthwindMiscellaneousQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/NorthwindMiscellaneousQueryJetTest.cs index 15d9068..f3a7c78 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/NorthwindMiscellaneousQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/NorthwindMiscellaneousQueryJetTest.cs @@ -6727,6 +6727,129 @@ WHERE NOT EXISTS ( """); } + public override async Task Contains_over_concatenated_columns_with_different_sizes(bool async) + { + await base.Contains_over_concatenated_columns_with_different_sizes(async); + + AssertSql( + """ +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE `c`.`CustomerID` & `c`.`CompanyName` IN ('ALFKIAlfreds Futterkiste', 'ANATRAna Trujillo Emparedados y helados') +"""); + } + + public override async Task Contains_over_concatenated_column_and_constant(bool async) + { + await base.Contains_over_concatenated_column_and_constant(async); + + AssertSql( + """ +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE `c`.`CustomerID` & 'SomeConstant' IN ('ALFKISomeConstant', 'ANATRSomeConstant', 'ALFKIX') +"""); + } + + public override async Task Contains_over_concatenated_columns_both_fixed_length(bool async) + { + await base.Contains_over_concatenated_columns_both_fixed_length(async); + + AssertSql( + """ +SELECT `o`.`OrderID`, `o`.`CustomerID`, `o`.`EmployeeID`, `o`.`OrderDate` +FROM `Orders` AS `o` +LEFT JOIN `Customers` AS `c` ON `o`.`CustomerID` = `c`.`CustomerID` +WHERE IIF(`o`.`CustomerID` IS NULL, '', `o`.`CustomerID`) & IIF(`c`.`CustomerID` IS NULL, '', `c`.`CustomerID`) IN ('ALFKIALFKI', 'ALFKI', 'ANATRAna Trujillo Emparedados y helados', 'ANATRANATR') +"""); + } + + public override async Task Contains_over_concatenated_column_and_parameter(bool async) + { + await base.Contains_over_concatenated_column_and_parameter(async); + + AssertSql( + """ +@__someVariable_1='SomeVariable' (Size = 255) + +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE `c`.`CustomerID` & @__someVariable_1 IN ('ALFKISomeVariable', 'ANATRSomeVariable', 'ALFKIX') +"""); + } + + public override async Task Contains_over_concatenated_parameter_and_constant(bool async) + { + await base.Contains_over_concatenated_parameter_and_constant(async); + + AssertSql( + """ +@__Contains_0='True' + +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE @__Contains_0 = TRUE +"""); + } + + public override async Task Subquery_with_navigation_inside_inline_collection(bool async) + { + await base.Subquery_with_navigation_inside_inline_collection(async); + + AssertSql( + """ +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +WHERE ( + SELECT COALESCE(SUM([v].[Value]), 0) + FROM (VALUES (CAST(100 AS int)), (( + SELECT COUNT(*) + FROM [Orders] AS [o] + WHERE [c].[CustomerID] = [o].[CustomerID]))) AS [v]([Value])) > 101 +"""); + } + + public override async Task Parameter_collection_Contains_with_projection_and_ordering(bool async) + { +#if DEBUG + // GroupBy debug assert. Issue #26104. + Assert.StartsWith( + "Missing alias in the list", + (await Assert.ThrowsAsync( + () => base.Parameter_collection_Contains_with_projection_and_ordering(async))).Message); +#else + await base.Parameter_collection_Contains_with_projection_and_ordering(async); + + AssertSql( + """ +@__ids_0='[10248,10249]' (Size = 4000) + +SELECT [o].[Quantity] AS [Key], ( + SELECT MAX([o3].[OrderDate]) + FROM [Order Details] AS [o2] + INNER JOIN [Orders] AS [o3] ON [o2].[OrderID] = [o3].[OrderID] + WHERE [o2].[OrderID] IN ( + SELECT [i1].[value] + FROM OPENJSON(@__ids_0) WITH ([value] int '$') AS [i1] + ) AND [o].[Quantity] = [o2].[Quantity]) AS [MaxTimestamp] +FROM [Order Details] AS [o] +WHERE [o].[OrderID] IN ( + SELECT [i].[value] + FROM OPENJSON(@__ids_0) WITH ([value] int '$') AS [i] +) +GROUP BY [o].[Quantity] +ORDER BY ( + SELECT MAX([o3].[OrderDate]) + FROM [Order Details] AS [o2] + INNER JOIN [Orders] AS [o3] ON [o2].[OrderID] = [o3].[OrderID] + WHERE [o2].[OrderID] IN ( + SELECT [i0].[value] + FROM OPENJSON(@__ids_0) WITH ([value] int '$') AS [i0] + ) AND [o].[Quantity] = [o2].[Quantity]) +"""); +#endif + } + private void AssertSql(params string[] expected) => Fixture.TestSqlLoggerFactory.AssertBaseline(expected.Select(s => s.Trim()).ToArray()); diff --git a/test/EFCore.Jet.FunctionalTests/Query/NorthwindWhereQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/NorthwindWhereQueryJetTest.cs index f935b38..bc1a5b1 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/NorthwindWhereQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/NorthwindWhereQueryJetTest.cs @@ -1447,7 +1447,7 @@ WHERE ((`o`.`OrderID` & '') & IIF(`o`.`CustomerID` IS NULL, '', `o`.`CustomerID` AssertSql( $""" - @__i_0='A' (Size = 5) + @__i_0='A' (Size = 255) SELECT `c`.`CustomerID` FROM `Customers` AS `c` @@ -1461,7 +1461,7 @@ WHERE ((`o`.`OrderID` & '') & IIF(`o`.`CustomerID` IS NULL, '', `o`.`CustomerID` AssertSql( $""" - @__i_0='A' (Size = 5) + @__i_0='A' (Size = 255) SELECT `c`.`CustomerID` FROM `Customers` AS `c` @@ -1475,8 +1475,8 @@ WHERE ((`o`.`OrderID` & '') & IIF(`o`.`CustomerID` IS NULL, '', `o`.`CustomerID` AssertSql( $""" -@__i_0='A' (Size = 5) -@__j_1='B' (Size = 5) +@__i_0='A' (Size = 255) +@__j_1='B' (Size = 255) SELECT `c`.`CustomerID` FROM `Customers` AS `c` @@ -1490,9 +1490,9 @@ WHERE ({AssertSqlHelper.Parameter("@__i_0")} & ({AssertSqlHelper.Parameter("@__j AssertSql( $""" -@__i_0='A' (Size = 5) -@__j_1='B' (Size = 5) -@__k_2='C' (Size = 5) +@__i_0='A' (Size = 255) +@__j_1='B' (Size = 255) +@__k_2='C' (Size = 255) SELECT `c`.`CustomerID` FROM `Customers` AS `c` @@ -2953,6 +2953,49 @@ WHERE IIF(`p`.`UnitPrice` IS NULL, NULL, CDBL(`p`.`UnitPrice`)) > 100.0 AssertSql(); } + public override async Task EF_Constant(bool async) + { + await base.EF_Constant(async); + + AssertSql( + """ +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE `c`.`CustomerID` = 'ALFKI' +"""); + } + + public override async Task EF_Constant_with_subtree(bool async) + { + await base.EF_Constant_with_subtree(async); + + AssertSql( + """ +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE `c`.`CustomerID` = 'ALFKI' +"""); + } + + public override async Task EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(bool async) + { + await base.EF_Constant_does_not_parameterized_as_part_of_bigger_subtree(async); + + AssertSql( + """ +SELECT `c`.`CustomerID`, `c`.`Address`, `c`.`City`, `c`.`CompanyName`, `c`.`ContactName`, `c`.`ContactTitle`, `c`.`Country`, `c`.`Fax`, `c`.`Phone`, `c`.`PostalCode`, `c`.`Region` +FROM `Customers` AS `c` +WHERE `c`.`CustomerID` = ('ALF' & 'KI') +"""); + } + + public override async Task EF_Constant_with_non_evaluatable_argument_throws(bool async) + { + await base.EF_Constant_with_non_evaluatable_argument_throws(async); + + AssertSql(); + } + private void AssertSql(params string[] expected) => Fixture.TestSqlLoggerFactory.AssertBaseline(expected); diff --git a/test/EFCore.Jet.FunctionalTests/Query/PrimitiveCollectionsQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/PrimitiveCollectionsQueryJetTest.cs index e240e93..0fc237c 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/PrimitiveCollectionsQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/PrimitiveCollectionsQueryJetTest.cs @@ -65,11 +65,12 @@ FROM `PrimitiveCollectionsEntity` AS `p` WHERE `p`.`NullableInt` IS NULL OR `p`.`NullableInt` = 999 """); } + public override async Task Inline_collection_Count_with_zero_values(bool async) + { + await base.Inline_collection_Count_with_zero_values(async); - public override Task Inline_collection_Count_with_zero_values(bool async) - => AssertTranslationFailedWithDetails( - () => base.Inline_collection_Count_with_zero_values(async), - RelationalStrings.EmptyCollectionNotSupportedAsInlineQueryRoot); + AssertSql(); + } public override async Task Inline_collection_Count_with_one_value(bool async) { @@ -116,10 +117,17 @@ WHERE ( """); } - public override Task Inline_collection_Contains_with_zero_values(bool async) - => AssertTranslationFailedWithDetails( - () => base.Inline_collection_Contains_with_zero_values(async), - RelationalStrings.EmptyCollectionNotSupportedAsInlineQueryRoot); + public override async Task Inline_collection_Contains_with_zero_values(bool async) + { + await base.Inline_collection_Contains_with_zero_values(async); + + AssertSql( + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE 0 = 1 +"""); + } public override async Task Inline_collection_Contains_with_one_value(bool async) { @@ -157,6 +165,18 @@ WHERE `p`.`Id` IN (2, 999, 1000) """); } + public override async Task Inline_collection_Contains_with_EF_Constant(bool async) + { + await base.Inline_collection_Contains_with_EF_Constant(async); + + AssertSql( + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`Id` IN (2, 999, 1000) +"""); + } + public override async Task Inline_collection_Contains_with_all_parameters(bool async) { await base.Inline_collection_Contains_with_all_parameters(async); @@ -227,15 +247,39 @@ WHERE `p`.`Id` NOT IN (2, 999) public override Task Parameter_collection_Count(bool async) => AssertTranslationFailedWithDetails(() => base.Parameter_collection_Count(async), JetStrings.QueryingIntoJsonCollectionsNotSupported()); - public override async Task Parameter_collection_of_ints_Contains(bool async) + public override async Task Parameter_collection_of_ints_Contains_int(bool async) { - await base.Parameter_collection_of_ints_Contains(async); + await base.Parameter_collection_of_ints_Contains_int(async); AssertSql( """ SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` FROM `PrimitiveCollectionsEntity` AS `p` WHERE `p`.`Int` IN (10, 999) +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`Int` NOT IN (10, 999) +"""); + } + + public override async Task Parameter_collection_of_ints_Contains_nullable_int(bool async) + { + await base.Parameter_collection_of_ints_Contains_nullable_int(async); + + AssertSql( + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`NullableInt` IN (10, 999) +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`NullableInt` NOT IN (10, 999) OR `p`.`NullableInt` IS NULL """); } @@ -248,6 +292,12 @@ WHERE `p`.`Int` IN (10, 999) SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` FROM `PrimitiveCollectionsEntity` AS `p` WHERE `p`.`Int` IN (10, 999) +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`Int` NOT IN (10, 999) """); } @@ -260,18 +310,30 @@ WHERE `p`.`Int` IN (10, 999) SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` FROM `PrimitiveCollectionsEntity` AS `p` WHERE `p`.`NullableInt` IS NULL OR `p`.`NullableInt` = 999 +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`NullableInt` IS NOT NULL AND `p`.`NullableInt` <> 999 """); } - public override async Task Parameter_collection_of_strings_Contains_non_nullable_string(bool async) + public override async Task Parameter_collection_of_strings_Contains_string(bool async) { - await base.Parameter_collection_of_strings_Contains_non_nullable_string(async); + await base.Parameter_collection_of_strings_Contains_string(async); AssertSql( """ SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` FROM `PrimitiveCollectionsEntity` AS `p` WHERE `p`.`String` IN ('10', '999') +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`String` NOT IN ('10', '999') """); } @@ -283,7 +345,49 @@ WHERE `p`.`String` IN ('10', '999') """ SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`NullableString` IN ('10', '999') +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`NullableString` NOT IN ('10', '999') OR `p`.`NullableString` IS NULL +"""); + } + + public override async Task Parameter_collection_of_nullable_strings_Contains_string(bool async) + { + await base.Parameter_collection_of_nullable_strings_Contains_string(async); + + AssertSql( + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`String` = '10' +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`String` <> '10' +"""); + } + + public override async Task Parameter_collection_of_nullable_strings_Contains_nullable_string(bool async) + { + await base.Parameter_collection_of_nullable_strings_Contains_nullable_string(async); + + AssertSql( + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` WHERE `p`.`NullableString` IS NULL OR `p`.`NullableString` = '999' +""", + // + """ +SELECT `p`.`Id`, `p`.`Bool`, `p`.`Bools`, `p`.`DateTime`, `p`.`DateTimes`, `p`.`Enum`, `p`.`Enums`, `p`.`Int`, `p`.`Ints`, `p`.`NullableInt`, `p`.`NullableInts`, `p`.`NullableString`, `p`.`NullableStrings`, `p`.`String`, `p`.`Strings` +FROM `PrimitiveCollectionsEntity` AS `p` +WHERE `p`.`NullableString` IS NOT NULL AND `p`.`NullableString` <> '999' """); } diff --git a/test/EFCore.Jet.FunctionalTests/Query/TPCGearsOfWarQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/TPCGearsOfWarQueryJetTest.cs index 07a4366..b60eaf0 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/TPCGearsOfWarQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/TPCGearsOfWarQueryJetTest.cs @@ -2918,9 +2918,9 @@ WHERE `c`.`Location` LIKE '%Jacinto%' """); } - public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) + public override async Task Unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) { - await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); + await base.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( """ diff --git a/test/EFCore.Jet.FunctionalTests/Query/TPTGearsOfWarQueryJetTest.cs b/test/EFCore.Jet.FunctionalTests/Query/TPTGearsOfWarQueryJetTest.cs index 9007504..8abb36a 100644 --- a/test/EFCore.Jet.FunctionalTests/Query/TPTGearsOfWarQueryJetTest.cs +++ b/test/EFCore.Jet.FunctionalTests/Query/TPTGearsOfWarQueryJetTest.cs @@ -2299,9 +2299,9 @@ WHERE `c`.`Location` LIKE '%Jacinto%' """); } - public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) + public override async Task Unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) { - await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); + await base.Unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( """