diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs index 576b8d33c26..4ee9efcc21e 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/ListComparer.cs @@ -1,92 +1,92 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; - -/// -/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new Entity Framework Core release. -/// -public sealed class ListComparer : ValueComparer - where TCollection : class, IEnumerable -{ - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public ListComparer(ValueComparer elementComparer, bool readOnly) - : base( - (a, b) => Compare(a, b, (ValueComparer)elementComparer), - o => GetHashCode(o, (ValueComparer)elementComparer), - source => Snapshot(source, (ValueComparer)elementComparer, readOnly)) - { - } - - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public override Type Type - => typeof(TCollection); - - private static bool Compare(TCollection? a, TCollection? b, ValueComparer elementComparer) - { - if (a is not IReadOnlyList aList) - { - return b is not IReadOnlyList; - } - - if (b is not IReadOnlyList bList || aList.Count != bList.Count) - { - return false; - } - - if (ReferenceEquals(aList, bList)) - { - return true; - } - - for (var i = 0; i < aList.Count; i++) - { - if (!elementComparer.Equals(aList[i], bList[i])) - { - return false; - } - } - - return true; - } - - private static int GetHashCode(TCollection source, ValueComparer elementComparer) - { - var hash = new HashCode(); - foreach (var el in source) - { - hash.Add(el, elementComparer); - } - - return hash.ToHashCode(); - } - - private static TCollection Snapshot(TCollection source, ValueComparer elementComparer, bool readOnly) - { - if (readOnly) - { - return source; - } - - var snapshot = new List(((IReadOnlyList)source).Count); - foreach (var e in source) - { - snapshot.Add(e is null ? default! : elementComparer.Snapshot(e)); - } - - return (TCollection)(object)snapshot; - } -} +// namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public sealed class ListComparer : ValueComparer +// where TCollection : class, IEnumerable +// { +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public ListComparer(ValueComparer elementComparer, bool readOnly) +// : base( +// (a, b) => Compare(a, b, (ValueComparer)elementComparer), +// o => GetHashCode(o, (ValueComparer)elementComparer), +// source => Snapshot(source, (ValueComparer)elementComparer, readOnly)) +// { +// } +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public override Type Type +// => typeof(TCollection); +// +// private static bool Compare(TCollection? a, TCollection? b, ValueComparer elementComparer) +// { +// if (a is not IReadOnlyList aList) +// { +// return b is not IReadOnlyList; +// } +// +// if (b is not IReadOnlyList bList || aList.Count != bList.Count) +// { +// return false; +// } +// +// if (ReferenceEquals(aList, bList)) +// { +// return true; +// } +// +// for (var i = 0; i < aList.Count; i++) +// { +// if (!elementComparer.Equals(aList[i], bList[i])) +// { +// return false; +// } +// } +// +// return true; +// } +// +// private static int GetHashCode(TCollection source, ValueComparer elementComparer) +// { +// var hash = new HashCode(); +// foreach (var el in source) +// { +// hash.Add(el, elementComparer); +// } +// +// return hash.ToHashCode(); +// } +// +// private static TCollection Snapshot(TCollection source, ValueComparer elementComparer, bool readOnly) +// { +// if (readOnly) +// { +// return source; +// } +// +// var snapshot = new List(((IReadOnlyList)source).Count); +// foreach (var e in source) +// { +// snapshot.Add(e is null ? default! : elementComparer.Snapshot(e)); +// } +// +// return (TCollection)(object)snapshot; +// } +// } diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs index 80fcb55b72f..dd2cd41d451 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableListComparer.cs @@ -1,105 +1,105 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; - -/// -/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new Entity Framework Core release. -/// -public sealed class NullableListComparer : ValueComparer - where TCollection : class, IEnumerable - where TElement : struct -{ - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public NullableListComparer(ValueComparer elementComparer, bool readOnly) - : base( - (a, b) => Compare(a, b, (ValueComparer)elementComparer), - o => GetHashCode(o, (ValueComparer)elementComparer), - source => Snapshot(source, (ValueComparer)elementComparer, readOnly)) - { - } - - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public override Type Type - => typeof(TCollection); - - private static bool Compare(TCollection? a, TCollection? b, ValueComparer elementComparer) - { - if (a is not IReadOnlyList aList) - { - return b is not IReadOnlyList; - } - - if (b is not IReadOnlyList bList || aList.Count != bList.Count) - { - return false; - } - - if (ReferenceEquals(aList, bList)) - { - return true; - } - - for (var i = 0; i < aList.Count; i++) - { - var (aElement, bElement) = (aList[i], bList[i]); - if (aElement is null) - { - if (bElement is null) - { - continue; - } - - return false; - } - - if (bElement is null || !elementComparer.Equals(aElement, bElement)) - { - return false; - } - } - - return true; - } - - private static int GetHashCode(TCollection source, ValueComparer elementComparer) - { - var nullableEqualityComparer = new NullableEqualityComparer(elementComparer); - var hash = new HashCode(); - foreach (var el in source) - { - hash.Add(el, nullableEqualityComparer); - } - - return hash.ToHashCode(); - } - - private static TCollection Snapshot(TCollection source, ValueComparer elementComparer, bool readOnly) - { - if (readOnly) - { - return source; - } - - var snapshot = new List(((IReadOnlyList)source).Count); - foreach (var e in source) - { - snapshot.Add(e is null ? null : elementComparer.Snapshot(e.Value)); - } - - return (TCollection)(object)snapshot; - } -} +// namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public sealed class NullableListComparer : ValueComparer +// where TCollection : class, IEnumerable +// where TElement : struct +// { +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public NullableListComparer(ValueComparer elementComparer, bool readOnly) +// : base( +// (a, b) => Compare(a, b, (ValueComparer)elementComparer), +// o => GetHashCode(o, (ValueComparer)elementComparer), +// source => Snapshot(source, (ValueComparer)elementComparer, readOnly)) +// { +// } +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public override Type Type +// => typeof(TCollection); +// +// private static bool Compare(TCollection? a, TCollection? b, ValueComparer elementComparer) +// { +// if (a is not IReadOnlyList aList) +// { +// return b is not IReadOnlyList; +// } +// +// if (b is not IReadOnlyList bList || aList.Count != bList.Count) +// { +// return false; +// } +// +// if (ReferenceEquals(aList, bList)) +// { +// return true; +// } +// +// for (var i = 0; i < aList.Count; i++) +// { +// var (aElement, bElement) = (aList[i], bList[i]); +// if (aElement is null) +// { +// if (bElement is null) +// { +// continue; +// } +// +// return false; +// } +// +// if (bElement is null || !elementComparer.Equals(aElement, bElement)) +// { +// return false; +// } +// } +// +// return true; +// } +// +// private static int GetHashCode(TCollection source, ValueComparer elementComparer) +// { +// var nullableEqualityComparer = new NullableEqualityComparer(elementComparer); +// var hash = new HashCode(); +// foreach (var el in source) +// { +// hash.Add(el, nullableEqualityComparer); +// } +// +// return hash.ToHashCode(); +// } +// +// private static TCollection Snapshot(TCollection source, ValueComparer elementComparer, bool readOnly) +// { +// if (readOnly) +// { +// return source; +// } +// +// var snapshot = new List(((IReadOnlyList)source).Count); +// foreach (var e in source) +// { +// snapshot.Add(e is null ? null : elementComparer.Snapshot(e.Value)); +// } +// +// return (TCollection)(object)snapshot; +// } +// } diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs index 240c16903d6..4d040213311 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/NullableSingleDimensionalArrayComparer.cs @@ -1,99 +1,99 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; - -/// -/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new Entity Framework Core release. -/// -public sealed class NullableSingleDimensionalArrayComparer : ValueComparer - where TElement : struct -{ - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public NullableSingleDimensionalArrayComparer(ValueComparer elementComparer) - : base( - (a, b) => Compare(a, b, (ValueComparer)elementComparer), - o => GetHashCode(o, (ValueComparer)elementComparer), - source => Snapshot(source, (ValueComparer)elementComparer)) - { - } - - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public override Type Type - => typeof(TElement?[]); - - private static bool Compare(TElement?[]? a, TElement?[]? b, ValueComparer elementComparer) - { - if (a is null) - { - return b is null; - } - - if (b is null || a.Length != b.Length) - { - return false; - } - - if (ReferenceEquals(a, b)) - { - return true; - } - - for (var i = 0; i < a.Length; i++) - { - var (aElement, bElement) = (a[i], b[i]); - if (aElement is null) - { - if (bElement is null) - { - continue; - } - - return false; - } - - if (bElement is null || !elementComparer.Equals(aElement, bElement)) - { - return false; - } - } - - return true; - } - - private static int GetHashCode(TElement?[] source, ValueComparer elementComparer) - { - var nullableEqualityComparer = new NullableEqualityComparer(elementComparer); - var hash = new HashCode(); - foreach (var el in source) - { - hash.Add(el, nullableEqualityComparer); - } - - return hash.ToHashCode(); - } - - private static TElement?[] Snapshot(TElement?[] source, ValueComparer elementComparer) - { - var snapshot = new TElement?[source.Length]; - for (var i = 0; i < source.Length; i++) - { - snapshot[i] = source[i] is { } value ? elementComparer.Snapshot(value) : null; - } - - return snapshot; - } -} +// namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public sealed class NullableSingleDimensionalArrayComparer : ValueComparer +// where TElement : struct +// { +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public NullableSingleDimensionalArrayComparer(ValueComparer elementComparer) +// : base( +// (a, b) => Compare(a, b, (ValueComparer)elementComparer), +// o => GetHashCode(o, (ValueComparer)elementComparer), +// source => Snapshot(source, (ValueComparer)elementComparer)) +// { +// } +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public override Type Type +// => typeof(TElement?[]); +// +// private static bool Compare(TElement?[]? a, TElement?[]? b, ValueComparer elementComparer) +// { +// if (a is null) +// { +// return b is null; +// } +// +// if (b is null || a.Length != b.Length) +// { +// return false; +// } +// +// if (ReferenceEquals(a, b)) +// { +// return true; +// } +// +// for (var i = 0; i < a.Length; i++) +// { +// var (aElement, bElement) = (a[i], b[i]); +// if (aElement is null) +// { +// if (bElement is null) +// { +// continue; +// } +// +// return false; +// } +// +// if (bElement is null || !elementComparer.Equals(aElement, bElement)) +// { +// return false; +// } +// } +// +// return true; +// } +// +// private static int GetHashCode(TElement?[] source, ValueComparer elementComparer) +// { +// var nullableEqualityComparer = new NullableEqualityComparer(elementComparer); +// var hash = new HashCode(); +// foreach (var el in source) +// { +// hash.Add(el, nullableEqualityComparer); +// } +// +// return hash.ToHashCode(); +// } +// +// private static TElement?[] Snapshot(TElement?[] source, ValueComparer elementComparer) +// { +// var snapshot = new TElement?[source.Length]; +// for (var i = 0; i < source.Length; i++) +// { +// snapshot[i] = source[i] is { } value ? elementComparer.Snapshot(value) : null; +// } +// +// return snapshot; +// } +// } diff --git a/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs b/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs index f51422c4f73..860c064c306 100644 --- a/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs +++ b/src/EFCore.Cosmos/ChangeTracking/Internal/SingleDimensionalArrayComparer.cs @@ -3,121 +3,121 @@ using static System.Linq.Expressions.Expression; -namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; - -/// -/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to -/// the same compatibility standards as public APIs. It may be changed or removed without notice in -/// any release. You should only use it directly in your code with extreme caution and knowing that -/// doing so can result in application failures when updating to a new Entity Framework Core release. -/// -public sealed class SingleDimensionalArrayComparer : ValueComparer -{ - internal static readonly PropertyInfo ArrayLengthProperty - = typeof(Array).GetRuntimeProperty(nameof(Array.Length))!; - - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public SingleDimensionalArrayComparer(ValueComparer elementComparer) - : base( - CreateEqualsExpression(elementComparer), - CreateHashCodeExpression(elementComparer), - CreateSnapshotExpression(elementComparer)) - { - } - - /// - /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to - /// the same compatibility standards as public APIs. It may be changed or removed without notice in - /// any release. You should only use it directly in your code with extreme caution and knowing that - /// doing so can result in application failures when updating to a new Entity Framework Core release. - /// - public override Type Type - => typeof(TElement[]); - - private static Expression> CreateEqualsExpression(ValueComparer elementComparer) - { - var type = typeof(TElement[]); - var param1 = Parameter(type, "v1"); - var param2 = Parameter(type, "v2"); - - return Lambda>( - Condition( - Equal(param1, Constant(null, type)), - Equal(param2, Constant(null, type)), - AndAlso( - NotEqual(param2, Constant(null, type)), - AndAlso( - Equal(MakeMemberAccess(param1, ArrayLengthProperty), MakeMemberAccess(param2, ArrayLengthProperty)), - OrElse( - ReferenceEqual(param1, param2), - Call( - EnumerableMethods.All.MakeGenericMethod(typeof(bool)), - Call( - EnumerableMethods.ZipWithSelector.MakeGenericMethod(typeof(TElement), typeof(TElement), typeof(bool)), - param1, - param2, - elementComparer.EqualsExpression), -#pragma warning disable EF1001 // Internal EF Core API usage. - BoolIdentity))))), -#pragma warning restore EF1001 // Internal EF Core API usage. - param1, param2); - } - - private static Expression> CreateHashCodeExpression(ValueComparer elementComparer) - { - var elementType = typeof(TElement); - var param = Parameter(typeof(TElement[]), "v"); - - var aggregateParam = Parameter(typeof(HashCode), "h"); - var aggregateElementParam = Parameter(elementType, "e"); -#pragma warning disable EF1001 // Internal EF Core API usage. - var aggregateFunc = Lambda>( - Call(HashCodeAddMethod, aggregateParam, elementComparer.ExtractHashCodeBody(aggregateElementParam)), - aggregateParam, aggregateElementParam); - - var selector = Lambda>( - Call(aggregateParam, ToHashCodeMethod), - aggregateParam); -#pragma warning restore EF1001 // Internal EF Core API usage. - - return Lambda>( - Call( - EnumerableMethods.AggregateWithSeedSelector.MakeGenericMethod(elementType, typeof(HashCode), typeof(int)), - param, - New(typeof(HashCode)), - aggregateFunc, - selector), - param); - } - - private static Expression> CreateSnapshotExpression(ValueComparer elementComparer) - { - var elementType = typeof(TElement); - var param = Parameter(typeof(TElement[]), "v"); - - var elementParam = Parameter(elementType, "e"); - - var selector = elementType.IsValueType - ? elementComparer.SnapshotExpression - : Lambda>( - Condition( - Equal(elementParam, Constant(null, elementType)), - Constant(null, elementType), - elementComparer.ExtractSnapshotBody(elementParam)), - elementParam); - - return Lambda>( - Call( - EnumerableMethods.ToArray.MakeGenericMethod(elementType), - Call( - EnumerableMethods.Select.MakeGenericMethod(elementType, elementType), - param, - selector)), - param); - } -} +// namespace Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public sealed class SingleDimensionalArrayComparer : ValueComparer +// { +// internal static readonly PropertyInfo ArrayLengthProperty +// = typeof(Array).GetRuntimeProperty(nameof(Array.Length))!; +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public SingleDimensionalArrayComparer(ValueComparer elementComparer) +// : base( +// CreateEqualsExpression(elementComparer), +// CreateHashCodeExpression(elementComparer), +// CreateSnapshotExpression(elementComparer)) +// { +// } +// +// /// +// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to +// /// the same compatibility standards as public APIs. It may be changed or removed without notice in +// /// any release. You should only use it directly in your code with extreme caution and knowing that +// /// doing so can result in application failures when updating to a new Entity Framework Core release. +// /// +// public override Type Type +// => typeof(TElement[]); +// +// private static Expression> CreateEqualsExpression(ValueComparer elementComparer) +// { +// var type = typeof(TElement[]); +// var param1 = Parameter(type, "v1"); +// var param2 = Parameter(type, "v2"); +// +// return Lambda>( +// Condition( +// Equal(param1, Constant(null, type)), +// Equal(param2, Constant(null, type)), +// AndAlso( +// NotEqual(param2, Constant(null, type)), +// AndAlso( +// Equal(MakeMemberAccess(param1, ArrayLengthProperty), MakeMemberAccess(param2, ArrayLengthProperty)), +// OrElse( +// ReferenceEqual(param1, param2), +// Call( +// EnumerableMethods.All.MakeGenericMethod(typeof(bool)), +// Call( +// EnumerableMethods.ZipWithSelector.MakeGenericMethod(typeof(TElement), typeof(TElement), typeof(bool)), +// param1, +// param2, +// elementComparer.EqualsExpression), +// #pragma warning disable EF1001 // Internal EF Core API usage. +// BoolIdentity))))), +// #pragma warning restore EF1001 // Internal EF Core API usage. +// param1, param2); +// } +// +// private static Expression> CreateHashCodeExpression(ValueComparer elementComparer) +// { +// var elementType = typeof(TElement); +// var param = Parameter(typeof(TElement[]), "v"); +// +// var aggregateParam = Parameter(typeof(HashCode), "h"); +// var aggregateElementParam = Parameter(elementType, "e"); +// #pragma warning disable EF1001 // Internal EF Core API usage. +// var aggregateFunc = Lambda>( +// Call(HashCodeAddMethod, aggregateParam, elementComparer.ExtractHashCodeBody(aggregateElementParam)), +// aggregateParam, aggregateElementParam); +// +// var selector = Lambda>( +// Call(aggregateParam, ToHashCodeMethod), +// aggregateParam); +// #pragma warning restore EF1001 // Internal EF Core API usage. +// +// return Lambda>( +// Call( +// EnumerableMethods.AggregateWithSeedSelector.MakeGenericMethod(elementType, typeof(HashCode), typeof(int)), +// param, +// New(typeof(HashCode)), +// aggregateFunc, +// selector), +// param); +// } +// +// private static Expression> CreateSnapshotExpression(ValueComparer elementComparer) +// { +// var elementType = typeof(TElement); +// var param = Parameter(typeof(TElement[]), "v"); +// +// var elementParam = Parameter(elementType, "e"); +// +// var selector = elementType.IsValueType +// ? elementComparer.SnapshotExpression +// : Lambda>( +// Condition( +// Equal(elementParam, Constant(null, elementType)), +// Constant(null, elementType), +// elementComparer.ExtractSnapshotBody(elementParam)), +// elementParam); +// +// return Lambda>( +// Call( +// EnumerableMethods.ToArray.MakeGenericMethod(elementType), +// Call( +// EnumerableMethods.Select.MakeGenericMethod(elementType, elementType), +// param, +// selector)), +// param); +// } +// } diff --git a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs index 8734305b709..1fb048fd995 100644 --- a/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs +++ b/src/EFCore.Cosmos/Infrastructure/Internal/CosmosModelValidator.cs @@ -41,36 +41,6 @@ public override void Validate(IModel model, IDiagnosticsLogger - protected override void ValidatePrimitiveCollections( - IModel model, - IDiagnosticsLogger logger) - { - foreach (var entityType in model.GetEntityTypes()) - { - Validate(entityType, logger); - } - - static void Validate(ITypeBase typeBase, IDiagnosticsLogger logger) - { - foreach (var property in typeBase.GetDeclaredProperties()) - { - if (property is { IsPrimitiveCollection: true }) - { - throw new InvalidOperationException( - CosmosStrings.PrimitiveCollectionsNotSupported( - property.DeclaringType.ClrType.ShortDisplayName(), - property.Name)); - } - } - - foreach (var complexProperty in typeBase.GetDeclaredComplexProperties()) - { - Validate(complexProperty.ComplexType, logger); - } - } - } - /// /// 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 diff --git a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs index e7561a9f10a..aecd79717d0 100644 --- a/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs +++ b/src/EFCore.Cosmos/Properties/CosmosStrings.Designer.cs @@ -309,14 +309,6 @@ public static string PartitionKeyStoreNameMismatch(object? property1, object? en GetString("PartitionKeyStoreNameMismatch", nameof(property1), nameof(entityType1), nameof(storeName1), nameof(property2), nameof(entityType2), nameof(storeName2)), property1, entityType1, storeName1, property2, entityType2, storeName2); - /// - /// The property '{entityType}.{property}' is configured as an EF8 primitive collection. Primitive collections in a Cosmos model are discovered by convention. - /// - public static string PrimitiveCollectionsNotSupported(object? entityType, object? property) - => string.Format( - GetString("PrimitiveCollectionsNotSupported", nameof(entityType), nameof(property)), - entityType, property); - /// /// Unable to execute a 'ReadItem' query since the 'id' value is missing and cannot be generated. /// diff --git a/src/EFCore.Cosmos/Properties/CosmosStrings.resx b/src/EFCore.Cosmos/Properties/CosmosStrings.resx index e5815bbdd9b..0709e132b3a 100644 --- a/src/EFCore.Cosmos/Properties/CosmosStrings.resx +++ b/src/EFCore.Cosmos/Properties/CosmosStrings.resx @@ -263,9 +263,6 @@ The partition key property '{property1}' on '{entityType1}' is mapped as '{storeName1}', but the partition key property '{property2}' on '{entityType2}' is mapped as '{storeName2}'. All partition key properties need to be mapped to the same store property for entity types mapped to the same container. - - The property '{entityType}.{property}' is configured as an EF8 primitive collection. Primitive collections in a Cosmos model are discovered by convention. - Unable to execute a 'ReadItem' query since the 'id' value is missing and cannot be generated. diff --git a/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs b/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs index 8f7cc37bd56..b24d1a1fcab 100644 --- a/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs +++ b/src/EFCore.Cosmos/Storage/Internal/CosmosTypeMappingSource.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Collections.ObjectModel; using Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; using Newtonsoft.Json.Linq; @@ -86,35 +85,9 @@ public CosmosTypeMappingSource(TypeMappingSourceDependencies dependencies) var jsonValueReaderWriter = Dependencies.JsonValueReaderWriterSource.FindReaderWriter(clrType); - if (clrType.IsArray) - { - var elementMappingInfo = new TypeMappingInfo(elementType); - var elementMapping = FindPrimitiveMapping(elementMappingInfo) - ?? FindCollectionMapping(elementMappingInfo); - return elementMapping == null - ? null - : new CosmosTypeMapping( - clrType, CreateArrayComparer(elementMapping, elementType), jsonValueReaderWriter: jsonValueReaderWriter); - } - if (clrType is { IsGenericType: true, IsGenericTypeDefinition: false }) { var genericTypeDefinition = clrType.GetGenericTypeDefinition(); - if (genericTypeDefinition == typeof(List<>) - || genericTypeDefinition == typeof(IList<>) - || genericTypeDefinition == typeof(IReadOnlyList<>) - || genericTypeDefinition == typeof(ObservableCollection<>) - || genericTypeDefinition == typeof(Collection<>)) - { - var elementMappingInfo = new TypeMappingInfo(elementType); - var elementMapping = FindPrimitiveMapping(elementMappingInfo) - ?? FindCollectionMapping(elementMappingInfo); - return elementMapping == null - ? null - : new CosmosTypeMapping( - clrType, CreateListComparer(elementMapping, elementType, clrType), jsonValueReaderWriter: jsonValueReaderWriter); - } - if (genericTypeDefinition == typeof(Dictionary<,>) || genericTypeDefinition == typeof(IDictionary<,>) || genericTypeDefinition == typeof(IReadOnlyDictionary<,>)) @@ -140,33 +113,6 @@ public CosmosTypeMappingSource(TypeMappingSourceDependencies dependencies) return null; } - private static ValueComparer CreateArrayComparer(CoreTypeMapping elementMapping, Type elementType) - { - var unwrappedType = elementType.UnwrapNullableType(); - - return (ValueComparer)Activator.CreateInstance( - elementType == unwrappedType - ? typeof(SingleDimensionalArrayComparer<>).MakeGenericType(elementType) - : typeof(NullableSingleDimensionalArrayComparer<>).MakeGenericType(unwrappedType), - elementMapping.Comparer)!; - } - - private static ValueComparer CreateListComparer( - CoreTypeMapping elementMapping, - Type elementType, - Type listType, - bool readOnly = false) - { - var unwrappedType = elementType.UnwrapNullableType(); - - return (ValueComparer)Activator.CreateInstance( - elementType == unwrappedType - ? typeof(ListComparer<,>).MakeGenericType(elementType, listType) - : typeof(NullableListComparer<,>).MakeGenericType(unwrappedType, listType), - elementMapping.Comparer, - readOnly)!; - } - private static ValueComparer CreateStringDictionaryComparer( CoreTypeMapping elementMapping, Type elementType, diff --git a/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs b/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs index 3a685cf279e..224eaa7e9ae 100644 --- a/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs +++ b/src/EFCore.Relational/Storage/RelationalTypeMappingSource.cs @@ -144,60 +144,64 @@ protected override CoreTypeMapping FindMapping(in TypeMappingInfo mappingInfo) var (mappingInfo, providerClrType, customConverter, elementMapping) = k; var sourceType = mappingInfo.ClrType; - var mapping = providerClrType == null - || providerClrType == mappingInfo.ClrType - ? self.FindMapping(mappingInfo) - : null; + RelationalTypeMapping? mapping = null; - if (mapping == null) + if (providerClrType == null + || providerClrType == mappingInfo.ClrType) { - if (elementMapping == null - || customConverter != null) + mapping = self.FindMapping(mappingInfo); + } + + if (mapping == null + && sourceType != null) + { + if (elementMapping == null) + { + mapping = WithConverter(); + } + + mapping ??= self.FindCollectionMapping(mappingInfo, sourceType, providerClrType, elementMapping) + ?? WithConverter(); + } + + RelationalTypeMapping? WithConverter() + { + foreach (var converterInfo in self.Dependencies + .ValueConverterSelector + .Select(sourceType, providerClrType)) { - if (sourceType != null) + var mappingInfoUsed = mappingInfo.WithConverter(converterInfo); + mapping = self.FindMapping(mappingInfoUsed); + + if (mapping == null + && providerClrType != null) { - foreach (var converterInfo in self.Dependencies + foreach (var secondConverterInfo in self.Dependencies .ValueConverterSelector - .Select(sourceType, providerClrType)) + .Select(providerClrType)) { - var mappingInfoUsed = mappingInfo.WithConverter(converterInfo); - mapping = self.FindMapping(mappingInfoUsed); - - if (mapping == null - && providerClrType != null) - { - foreach (var secondConverterInfo in self.Dependencies - .ValueConverterSelector - .Select(providerClrType)) - { - mapping = self.FindMapping(mappingInfoUsed.WithConverter(secondConverterInfo)); - - if (mapping != null) - { - mapping = (RelationalTypeMapping)mapping.WithComposedConverter( - secondConverterInfo.Create(), - jsonValueReaderWriter: mappingInfoUsed.JsonValueReaderWriter); - break; - } - } - } + mapping = self.FindMapping(mappingInfoUsed.WithConverter(secondConverterInfo)); if (mapping != null) { mapping = (RelationalTypeMapping)mapping.WithComposedConverter( - converterInfo.Create(), - jsonValueReaderWriter: mappingInfo.JsonValueReaderWriter); + secondConverterInfo.Create(), + jsonValueReaderWriter: mappingInfoUsed.JsonValueReaderWriter); break; } } + } - mapping ??= self.FindCollectionMapping(mappingInfo, sourceType, providerClrType, elementMapping); + if (mapping != null) + { + mapping = (RelationalTypeMapping)mapping.WithComposedConverter( + converterInfo.Create(), + jsonValueReaderWriter: mappingInfo.JsonValueReaderWriter); + break; } } - else if (sourceType != null) - { - mapping = self.FindCollectionMapping(mappingInfo, sourceType, providerClrType, elementMapping); - } + + return mapping; } if (mapping != null diff --git a/src/EFCore/ChangeTracking/ListComparer.cs b/src/EFCore/ChangeTracking/ListComparer.cs index d64272f8079..065a62caba9 100644 --- a/src/EFCore/ChangeTracking/ListComparer.cs +++ b/src/EFCore/ChangeTracking/ListComparer.cs @@ -1,6 +1,8 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections.ObjectModel; + namespace Microsoft.EntityFrameworkCore.ChangeTracking; /// @@ -10,15 +12,23 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; /// /// /// This comparer should be used for reference types and non-nullable value types. Use -/// for nullable value types. +/// for nullable value types. /// /// /// See EF Core value comparers for more information and examples. /// /// +/// The collection type to create an index of, if needed. /// The element type. -public sealed class ListComparer : ValueComparer> +public sealed class ListComparer : ValueComparer> + where TElement : struct { + private static readonly bool IsArray = typeof(TConcreteCollection).IsArray; + + private static readonly bool IsReadOnly = IsArray + || (typeof(TConcreteCollection).IsGenericType + && typeof(TConcreteCollection).GetGenericTypeDefinition() == typeof(ReadOnlyCollection<>)); + /// /// Creates a new instance of the list comparer. /// @@ -64,21 +74,6 @@ private static bool Compare(IEnumerable? a, IEnumerable? b, for (var i = 0; i < aList.Count; i++) { var (el1, el2) = (aList[i], bList[i]); - if (el1 is null) - { - if (el2 is null) - { - continue; - } - - return false; - } - - if (el2 is null) - { - return false; - } - if (!elementComparer.Equals(el1, el2)) { return false; @@ -100,7 +95,7 @@ private static int GetHashCode(IEnumerable source, ValueComparer Snapshot(IEnumerable source, ValueCompa throw new InvalidOperationException( CoreStrings.BadListType( source.GetType().ShortDisplayName(), - typeof(IList<>).MakeGenericType(elementComparer.Type).ShortDisplayName())); + typeof(IList<>).MakeGenericType(elementComparer.Type.MakeNullable()).ShortDisplayName())); } - if (sourceList.IsReadOnly) + if (IsArray) { var snapshot = new TElement[sourceList.Count]; - for (var i = 0; i < sourceList.Count; i++) { var instance = sourceList[i]; - if (instance != null) - { - snapshot[i] = elementComparer.Snapshot(instance); - } + snapshot[i] = elementComparer.Snapshot(instance); } return snapshot; } else { - var snapshot = (source is List || sourceList.IsReadOnly) - ? new List(sourceList.Count) - : (IList)Activator.CreateInstance(source.GetType())!; - + var snapshot = IsReadOnly ? new List() : (IList)Activator.CreateInstance()!; foreach (var e in sourceList) { - snapshot.Add(e == null ? (TElement)(object)null! : elementComparer.Snapshot(e)); + snapshot.Add(elementComparer.Snapshot(e)); } - return snapshot; + return IsReadOnly + ? (IList)Activator.CreateInstance(typeof(TConcreteCollection), [snapshot])! + : snapshot; } } } diff --git a/src/EFCore/ChangeTracking/NullableValueTypeListComparer.cs b/src/EFCore/ChangeTracking/NullableValueTypeListComparer.cs index 7acbff280f9..978511741cb 100644 --- a/src/EFCore/ChangeTracking/NullableValueTypeListComparer.cs +++ b/src/EFCore/ChangeTracking/NullableValueTypeListComparer.cs @@ -1,6 +1,8 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections.ObjectModel; + namespace Microsoft.EntityFrameworkCore.ChangeTracking; /// @@ -9,17 +11,24 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; /// /// /// -/// This comparer should be used for nullable value types. Use for reference +/// This comparer should be used for nullable value types. Use for reference /// types and non-nullable value types. /// /// /// See EF Core value comparers for more information and examples. /// /// +/// The collection type to create an index of, if needed. /// The element type. -public sealed class NullableValueTypeListComparer : ValueComparer> +public sealed class NullableValueTypeListComparer : ValueComparer> where TElement : struct { + private static readonly bool IsArray = typeof(TConcreteCollection).IsArray; + + private static readonly bool IsReadOnly = IsArray + || (typeof(TConcreteCollection).IsGenericType + && typeof(TConcreteCollection).GetGenericTypeDefinition() == typeof(ReadOnlyCollection<>)); + /// /// Creates a new instance of the list comparer. /// @@ -117,10 +126,9 @@ private static int GetHashCode(IEnumerable source, ValueComparer).MakeGenericType(elementComparer.Type.MakeNullable()).ShortDisplayName())); } - if (sourceList.IsReadOnly) + if (IsArray) { var snapshot = new TElement?[sourceList.Count]; - for (var i = 0; i < sourceList.Count; i++) { var instance = sourceList[i]; @@ -131,16 +139,15 @@ private static int GetHashCode(IEnumerable source, ValueComparer || sourceList.IsReadOnly - ? new List(sourceList.Count) - : (IList)Activator.CreateInstance(source.GetType())!; - + var snapshot = IsReadOnly ? new List() : (IList)Activator.CreateInstance()!; foreach (var e in sourceList) { snapshot.Add(e == null ? null : elementComparer.Snapshot(e)); } - return snapshot; + return IsReadOnly + ? (IList)Activator.CreateInstance(typeof(TConcreteCollection), [snapshot])! + : snapshot; } } } diff --git a/src/EFCore/ChangeTracking/ObjectListComparer.cs b/src/EFCore/ChangeTracking/ObjectListComparer.cs index 9024b6d97e4..1639516af14 100644 --- a/src/EFCore/ChangeTracking/ObjectListComparer.cs +++ b/src/EFCore/ChangeTracking/ObjectListComparer.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections; +using System.Collections.ObjectModel; + namespace Microsoft.EntityFrameworkCore.ChangeTracking; /// @@ -15,9 +18,17 @@ namespace Microsoft.EntityFrameworkCore.ChangeTracking; /// See EF Core value comparers for more information and examples. /// /// +/// The collection type to create an index of, if needed. /// The element type. -public sealed class ObjectListComparer : ValueComparer> +public sealed class ObjectListComparer : ValueComparer + where TElement : class { + private static readonly bool IsArray = typeof(TConcreteCollection).IsArray; + + private static readonly bool IsReadOnly = IsArray + || (typeof(TConcreteCollection).IsGenericType + && typeof(TConcreteCollection).GetGenericTypeDefinition() == typeof(ReadOnlyCollection<>)); + /// /// Creates a new instance of the list comparer. /// @@ -25,7 +36,7 @@ public sealed class ObjectListComparer : ValueComparer Compare(a, b, elementComparer), - o => GetHashCode(o, elementComparer), + o => GetHashCode((IEnumerable)o, elementComparer), source => Snapshot(source, elementComparer)) { ElementComparer = elementComparer; @@ -36,7 +47,7 @@ public ObjectListComparer(ValueComparer elementComparer) /// public ValueComparer ElementComparer { get; } - private static bool Compare(IEnumerable? a, IEnumerable? b, ValueComparer elementComparer) + private static bool Compare(object? a, object? b, ValueComparer elementComparer) { if (ReferenceEquals(a, b)) { @@ -53,7 +64,7 @@ private static bool Compare(IEnumerable? a, IEnumerable? b, return false; } - if (a is IList aList && b is IList bList) + if (a is IList aList && b is IList bList) { if (aList.Count != bList.Count) { @@ -93,7 +104,7 @@ private static bool Compare(IEnumerable? a, IEnumerable? b, typeof(IList<>).MakeGenericType(elementComparer.Type).ShortDisplayName())); } - private static int GetHashCode(IEnumerable source, ValueComparer elementComparer) + private static int GetHashCode(IEnumerable source, ValueComparer elementComparer) { var hash = new HashCode(); @@ -105,9 +116,9 @@ private static int GetHashCode(IEnumerable source, ValueComparer eleme return hash.ToHashCode(); } - private static IList Snapshot(IEnumerable source, ValueComparer elementComparer) + private static IList Snapshot(object source, ValueComparer elementComparer) { - if (source is not IList sourceList) + if (source is not IList sourceList) { throw new InvalidOperationException( CoreStrings.BadListType( @@ -115,33 +126,28 @@ private static IList Snapshot(IEnumerable source, ValueCompa typeof(IList<>).MakeGenericType(elementComparer.Type).ShortDisplayName())); } - if (sourceList.IsReadOnly) + if (IsArray) { - var snapshot = new TElement[sourceList.Count]; - + var snapshot = new TElement?[sourceList.Count]; for (var i = 0; i < sourceList.Count; i++) { var instance = sourceList[i]; - if (instance != null) - { - snapshot[i] = (TElement)elementComparer.Snapshot(instance); - } + snapshot[i] = instance == null ? null : (TElement?)elementComparer.Snapshot(instance); } return snapshot; } else { - var snapshot = (source is List || sourceList.IsReadOnly) - ? new List(sourceList.Count) - : (IList)Activator.CreateInstance(source.GetType())!; - + var snapshot = IsReadOnly ? new List() : (IList)Activator.CreateInstance()!; foreach (var e in sourceList) { - snapshot.Add(e == null ? (TElement)(object?)null! : (TElement)elementComparer.Snapshot(e)); + snapshot.Add(e == null ? null : (TElement?)elementComparer.Snapshot(e)); } - return snapshot; + return IsReadOnly + ? (IList)Activator.CreateInstance(typeof(TConcreteCollection), [snapshot])! + : snapshot; } } } diff --git a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs index ffd417abded..795604c7608 100644 --- a/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs +++ b/src/EFCore/Design/Internal/CSharpRuntimeAnnotationCodeGenerator.cs @@ -418,7 +418,7 @@ public static void Create( var mainBuilder = parameters.MainBuilder; var constructor = comparer.GetType().GetDeclaredConstructor([typeof(ValueComparer)]); - var elementComparerProperty = comparer.GetType().GetProperty(nameof(ListComparer.ElementComparer)); + var elementComparerProperty = comparer.GetType().GetProperty(nameof(ListComparer.ElementComparer)); if (constructor == null || elementComparerProperty == null) { diff --git a/src/EFCore/Infrastructure/ModelValidator.cs b/src/EFCore/Infrastructure/ModelValidator.cs index 49601b9d34c..6e197815ce7 100644 --- a/src/EFCore/Infrastructure/ModelValidator.cs +++ b/src/EFCore/Infrastructure/ModelValidator.cs @@ -1035,13 +1035,6 @@ static void Validate(ITypeBase typeBase, IDiagnosticsLogger).MakeGenericType(elementClrType!).ShortDisplayName())); } - - if (property.ClrType.IsGenericType - && (property.ClrType.GetGenericTypeDefinition() == typeof(IReadOnlyCollection<>) - || property.ClrType.GetGenericTypeDefinition() == typeof(IReadOnlyList<>))) - { - throw new InvalidOperationException(CoreStrings.ReadOnlyListType(property.ClrType.ShortDisplayName())); - } } } diff --git a/src/EFCore/Properties/CoreStrings.Designer.cs b/src/EFCore/Properties/CoreStrings.Designer.cs index 12a35ead3e1..6cde3b34aa4 100644 --- a/src/EFCore/Properties/CoreStrings.Designer.cs +++ b/src/EFCore/Properties/CoreStrings.Designer.cs @@ -2605,14 +2605,6 @@ public static string QueryUnhandledQueryRootExpression(object? type) GetString("QueryUnhandledQueryRootExpression", nameof(type)), type); - /// - /// The type '{givenType}' cannot be used as a primitive collection because it is read-only. Read-only collections of primitive types are not supported. - /// - public static string ReadOnlyListType(object? givenType) - => string.Format( - GetString("ReadOnlyListType", nameof(givenType)), - givenType); - /// /// An attempt was made to use the context instance while it is being configured. A DbContext instance cannot be used inside 'OnConfiguring' since it is still being configured at this point. This can happen if a second operation is started on this context instance before a previous operation completed. Any instance members are not guaranteed to be thread safe. /// diff --git a/src/EFCore/Properties/CoreStrings.resx b/src/EFCore/Properties/CoreStrings.resx index 1ae11dc6547..b1f71053ae5 100644 --- a/src/EFCore/Properties/CoreStrings.resx +++ b/src/EFCore/Properties/CoreStrings.resx @@ -1,17 +1,17 @@  - @@ -1435,9 +1435,6 @@ Query root of type '{type}' wasn't handled by provider code. This issue happens when using a provider specific method on a different provider where it is not supported. - - The type '{givenType}' cannot be used as a primitive collection because it is read-only. Read-only collections of primitive types are not supported. - An attempt was made to use the context instance while it is being configured. A DbContext instance cannot be used inside 'OnConfiguring' since it is still being configured at this point. This can happen if a second operation is started on this context instance before a previous operation completed. Any instance members are not guaranteed to be thread safe. diff --git a/src/EFCore/Query/Internal/EntityMaterializerSource.cs b/src/EFCore/Query/Internal/EntityMaterializerSource.cs index a4046b3b6e8..3cdeb4fab30 100644 --- a/src/EFCore/Query/Internal/EntityMaterializerSource.cs +++ b/src/EFCore/Query/Internal/EntityMaterializerSource.cs @@ -173,27 +173,35 @@ static Expression CreateMemberAssignment(Expression parameter, MemberInfo member { if (property is IProperty { IsPrimitiveCollection: true, ClrType.IsArray: false }) { - var genericMethod = PopulateListMethod.MakeGenericMethod( - property.ClrType.TryGetElementType(typeof(IEnumerable<>))!); - var currentVariable = Expression.Variable(property.ClrType); - var convertedVariable = genericMethod.GetParameters()[1].ParameterType.IsAssignableFrom(currentVariable.Type) - ? (Expression)currentVariable - : Expression.Convert(currentVariable, genericMethod.GetParameters()[1].ParameterType); - return Expression.Block( - new[] { currentVariable }, - Expression.Assign( - currentVariable, - Expression.MakeMemberAccess(parameter, property.GetMemberInfo(forMaterialization: true, forSet: false))), - Expression.IfThenElse( - Expression.OrElse( - Expression.ReferenceEqual(currentVariable, Expression.Constant(null)), - Expression.ReferenceEqual(value, Expression.Constant(null))), - Expression.MakeMemberAccess(parameter, memberInfo).Assign(value), - Expression.Call( - genericMethod, - value, - convertedVariable) - )); + var elementType = property.ClrType.TryGetElementType(typeof(IEnumerable<>))!; + var iCollectionInterface = typeof(ICollection<>).MakeGenericType(elementType); + if (iCollectionInterface.IsAssignableFrom(property.ClrType)) + { + var genericMethod = PopulateListMethod.MakeGenericMethod(elementType); + var currentVariable = Expression.Variable(property.ClrType); + var convertedVariable = genericMethod.GetParameters()[1].ParameterType.IsAssignableFrom(currentVariable.Type) + ? (Expression)currentVariable + : Expression.Convert(currentVariable, genericMethod.GetParameters()[1].ParameterType); + return Expression.Block( + new[] { currentVariable }, + Expression.Assign( + currentVariable, + Expression.MakeMemberAccess(parameter, property.GetMemberInfo(forMaterialization: true, forSet: false))), + Expression.IfThenElse( + Expression.OrElse( + Expression.OrElse( + Expression.ReferenceEqual(currentVariable, Expression.Constant(null)), + Expression.ReferenceEqual(value, Expression.Constant(null))), + Expression.MakeMemberAccess( + currentVariable, + iCollectionInterface.GetProperty(nameof(ICollection.IsReadOnly))!)), + Expression.MakeMemberAccess(parameter, memberInfo).Assign(value), + Expression.Call( + genericMethod, + value, + convertedVariable) + )); + } } return property.IsIndexerProperty() diff --git a/src/EFCore/Storage/Json/JsonNullableStructCollectionReaderWriter.cs b/src/EFCore/Storage/Json/JsonCollectionOfNullableStructsReaderWriter.cs similarity index 82% rename from src/EFCore/Storage/Json/JsonNullableStructCollectionReaderWriter.cs rename to src/EFCore/Storage/Json/JsonCollectionOfNullableStructsReaderWriter.cs index 26a81959b4b..cac740b68fc 100644 --- a/src/EFCore/Storage/Json/JsonNullableStructCollectionReaderWriter.cs +++ b/src/EFCore/Storage/Json/JsonCollectionOfNullableStructsReaderWriter.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections.ObjectModel; using System.Text.Json; using Microsoft.EntityFrameworkCore.Storage.Internal; @@ -9,22 +10,26 @@ namespace Microsoft.EntityFrameworkCore.Storage.Json; /// /// A for collections of primitives nullable value types. /// -/// The collection type. /// The collection type to create an index of, if needed. /// The element type. -public class JsonNullableStructCollectionReaderWriter : +public class JsonCollectionOfNullableStructsReaderWriter : JsonValueReaderWriter>, ICompositeJsonValueReaderWriter where TElement : struct - where TCollection : IEnumerable { private readonly JsonValueReaderWriter _elementReaderWriter; + private static readonly bool IsArray = typeof(TConcreteCollection).IsArray; + + private static readonly bool IsReadOnly = IsArray + || (typeof(TConcreteCollection).IsGenericType + && typeof(TConcreteCollection).GetGenericTypeDefinition() == typeof(ReadOnlyCollection<>)); + /// /// Creates a new instance of this collection reader/writer, using the given reader/writer for its elements. /// /// The reader/writer to use for each element. - public JsonNullableStructCollectionReaderWriter(JsonValueReaderWriter elementReaderWriter) + public JsonCollectionOfNullableStructsReaderWriter(JsonValueReaderWriter elementReaderWriter) { _elementReaderWriter = elementReaderWriter; } @@ -33,7 +38,7 @@ public JsonNullableStructCollectionReaderWriter(JsonValueReaderWriter public override IEnumerable FromJsonTyped(ref Utf8JsonReaderManager manager, object? existingObject = null) { IList collection; - if (typeof(TCollection).IsArray) + if (IsReadOnly) { collection = new List(); } @@ -89,7 +94,11 @@ public JsonNullableStructCollectionReaderWriter(JsonValueReaderWriter } } - return typeof(TCollection).IsArray ? collection.ToArray() : collection; + return IsReadOnly + ? IsArray + ? collection.ToArray() + : (IList)Activator.CreateInstance(typeof(TConcreteCollection), [collection])! + : collection; } /// diff --git a/src/EFCore/Storage/Json/JsonCollectionOfReferencesReaderWriter.cs b/src/EFCore/Storage/Json/JsonCollectionOfReferencesReaderWriter.cs new file mode 100644 index 00000000000..bc6e3d68f02 --- /dev/null +++ b/src/EFCore/Storage/Json/JsonCollectionOfReferencesReaderWriter.cs @@ -0,0 +1,125 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Collections.ObjectModel; +using System.Text.Json; +using Microsoft.EntityFrameworkCore.Storage.Internal; + +namespace Microsoft.EntityFrameworkCore.Storage.Json; + +/// +/// A for collections of primitive elements that are reference types. />. +/// +/// The collection type to create an index of, if needed. +/// The element type. +public class JsonCollectionOfReferencesReaderWriter : + JsonValueReaderWriter, + ICompositeJsonValueReaderWriter + where TElement : class? +{ + private readonly JsonValueReaderWriter _elementReaderWriter; + + private static readonly bool IsArray = typeof(TConcreteCollection).IsArray; + + private static readonly bool IsReadOnly = IsArray + || (typeof(TConcreteCollection).IsGenericType + && typeof(TConcreteCollection).GetGenericTypeDefinition() == typeof(ReadOnlyCollection<>)); + + /// + /// Creates a new instance of this collection reader/writer, using the given reader/writer for its elements. + /// + /// The reader/writer to use for each element. + public JsonCollectionOfReferencesReaderWriter(JsonValueReaderWriter elementReaderWriter) + { + _elementReaderWriter = elementReaderWriter; + } + + /// + public override object FromJsonTyped(ref Utf8JsonReaderManager manager, object? existingObject = null) + { + IList collection; + if (IsReadOnly) + { + collection = new List(); + } + else if (existingObject == null) + { + collection = (IList)Activator.CreateInstance()!; + } + else + { + collection = (IList)existingObject; + collection.Clear(); + } + + var tokenType = manager.CurrentReader.TokenType; + if (tokenType != JsonTokenType.StartArray) + { + throw new InvalidOperationException( + CoreStrings.JsonReaderInvalidTokenType(tokenType.ToString())); + } + + while (tokenType != JsonTokenType.EndArray) + { + manager.MoveNext(); + tokenType = manager.CurrentReader.TokenType; + + switch (tokenType) + { + case JsonTokenType.String: + case JsonTokenType.Number: + case JsonTokenType.True: + case JsonTokenType.False: + collection.Add((TElement)_elementReaderWriter.FromJson(ref manager)); + break; + case JsonTokenType.Null: + collection.Add(default); + break; + case JsonTokenType.Comment: + case JsonTokenType.EndArray: + break; + case JsonTokenType.StartArray: + collection.Add((TElement)_elementReaderWriter.FromJson(ref manager)); + break; + case JsonTokenType.None: // Explicitly listing all states that we throw for + case JsonTokenType.StartObject: + case JsonTokenType.EndObject: + case JsonTokenType.PropertyName: + default: + throw new InvalidOperationException( + CoreStrings.JsonReaderInvalidTokenType(tokenType.ToString())); + } + } + + return IsReadOnly + ? IsArray + ? collection.ToArray() + : (IList)Activator.CreateInstance(typeof(TConcreteCollection), [collection])! + : collection; + } + + /// + public override void ToJsonTyped(Utf8JsonWriter writer, object? value) + { + writer.WriteStartArray(); + if (value != null) + { + foreach (var element in (IEnumerable)value) + { + if (element == null) + { + writer.WriteNullValue(); + } + else + { + _elementReaderWriter.ToJson(writer, element); + } + } + } + + writer.WriteEndArray(); + } + + JsonValueReaderWriter ICompositeJsonValueReaderWriter.InnerReaderWriter + => _elementReaderWriter; +} diff --git a/src/EFCore/Storage/Json/JsonCollectionReaderWriter.cs b/src/EFCore/Storage/Json/JsonCollectionOfStructsReaderWriter.cs similarity index 67% rename from src/EFCore/Storage/Json/JsonCollectionReaderWriter.cs rename to src/EFCore/Storage/Json/JsonCollectionOfStructsReaderWriter.cs index f1fbc43d1e4..9f2c1722859 100644 --- a/src/EFCore/Storage/Json/JsonCollectionReaderWriter.cs +++ b/src/EFCore/Storage/Json/JsonCollectionOfStructsReaderWriter.cs @@ -1,48 +1,55 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections.ObjectModel; using System.Text.Json; using Microsoft.EntityFrameworkCore.Storage.Internal; namespace Microsoft.EntityFrameworkCore.Storage.Json; /// -/// A for collections of primitive elements that are a not . +/// A for collections of primitive elements that are a not reference types and not +/// . /// -/// The collection type. /// The collection type to create an index of, if needed. /// The element type. -public class JsonCollectionReaderWriter : - JsonValueReaderWriter>, +public class JsonCollectionOfStructsReaderWriter : + JsonValueReaderWriter>, ICompositeJsonValueReaderWriter - where TCollection : IEnumerable + where TElement : struct { private readonly JsonValueReaderWriter _elementReaderWriter; + private static readonly bool IsArray = typeof(TConcreteCollection).IsArray; + + private static readonly bool IsReadOnly = IsArray + || (typeof(TConcreteCollection).IsGenericType + && typeof(TConcreteCollection).GetGenericTypeDefinition() == typeof(ReadOnlyCollection<>)); + /// /// Creates a new instance of this collection reader/writer, using the given reader/writer for its elements. /// /// The reader/writer to use for each element. - public JsonCollectionReaderWriter(JsonValueReaderWriter elementReaderWriter) + public JsonCollectionOfStructsReaderWriter(JsonValueReaderWriter elementReaderWriter) { _elementReaderWriter = elementReaderWriter; } /// - public override IEnumerable FromJsonTyped(ref Utf8JsonReaderManager manager, object? existingObject = null) + public override IEnumerable FromJsonTyped(ref Utf8JsonReaderManager manager, object? existingObject = null) { - IList collection; - if (typeof(TCollection).IsArray) + IList collection; + if (IsReadOnly) { - collection = new List(); + collection = new List(); } else if (existingObject == null) { - collection = (IList)Activator.CreateInstance()!; + collection = (IList)Activator.CreateInstance()!; } else { - collection = (IList)existingObject; + collection = (IList)existingObject; collection.Clear(); } @@ -83,23 +90,20 @@ public JsonCollectionReaderWriter(JsonValueReaderWriter elementReaderW } } - return typeof(TCollection).IsArray ? collection.ToArray() : collection; + return IsReadOnly + ? IsArray + ? collection.ToArray() + : (IList)Activator.CreateInstance(typeof(TConcreteCollection), [collection])! + : collection; } /// - public override void ToJsonTyped(Utf8JsonWriter writer, IEnumerable value) + public override void ToJsonTyped(Utf8JsonWriter writer, IEnumerable value) { writer.WriteStartArray(); foreach (var element in value) { - if (element == null) - { - writer.WriteNullValue(); - } - else - { - _elementReaderWriter.ToJsonTyped(writer, element); - } + _elementReaderWriter.ToJsonTyped(writer, element); } writer.WriteEndArray(); diff --git a/src/EFCore/Storage/TypeMappingSource.cs b/src/EFCore/Storage/TypeMappingSource.cs index 7e78f237e0b..3ab4630fd68 100644 --- a/src/EFCore/Storage/TypeMappingSource.cs +++ b/src/EFCore/Storage/TypeMappingSource.cs @@ -100,62 +100,68 @@ protected TypeMappingSource(TypeMappingSourceDependencies dependencies) var (mappingInfo, providerClrType, customConverter, elementMapping) = k; var sourceType = mappingInfo.ClrType; - var mapping = providerClrType == null - || providerClrType == mappingInfo.ClrType - ? self.FindMapping(mappingInfo) - : null; + CoreTypeMapping? mapping = null; - if (mapping == null) + if (providerClrType == null + || providerClrType == mappingInfo.ClrType) { - if (elementMapping == null - || customConverter != null) + mapping = self.FindMapping(mappingInfo); + } + + if (mapping == null + && sourceType != null) + { + if (elementMapping == null) + { + mapping = WithConverter(); + } + + mapping ??= self.FindCollectionMapping(mappingInfo, sourceType, providerClrType, elementMapping) + ?? WithConverter(); + } + + + CoreTypeMapping? WithConverter() + { + foreach (var converterInfo in self.Dependencies + .ValueConverterSelector + .Select(sourceType, providerClrType)) { - if (sourceType != null) + var mappingInfoUsed = mappingInfo.WithConverter(converterInfo); + mapping = self.FindMapping(mappingInfoUsed); + + if (mapping == null + && providerClrType != null) { - foreach (var converterInfo in self.Dependencies + foreach (var secondConverterInfo in self.Dependencies .ValueConverterSelector - .Select(sourceType, providerClrType)) + .Select(providerClrType)) { - var mappingInfoUsed = mappingInfo.WithConverter(converterInfo); - mapping = self.FindMapping(mappingInfoUsed); - - if (mapping == null - && providerClrType != null) - { - foreach (var secondConverterInfo in self.Dependencies - .ValueConverterSelector - .Select(providerClrType)) - { - mapping = self.FindMapping(mappingInfoUsed.WithConverter(secondConverterInfo)); - - if (mapping != null) - { - mapping = mapping.WithComposedConverter( - secondConverterInfo.Create(), - jsonValueReaderWriter: mappingInfoUsed.JsonValueReaderWriter); - break; - } - } - } + mapping = self.FindMapping(mappingInfoUsed.WithConverter(secondConverterInfo)); if (mapping != null) { mapping = mapping.WithComposedConverter( - converterInfo.Create(), - jsonValueReaderWriter: mappingInfo.JsonValueReaderWriter); + secondConverterInfo.Create(), + jsonValueReaderWriter: mappingInfoUsed.JsonValueReaderWriter); break; } } + } - mapping ??= self.FindCollectionMapping(mappingInfo, sourceType, providerClrType, elementMapping); + if (mapping != null) + { + mapping = mapping.WithComposedConverter( + converterInfo.Create(), + jsonValueReaderWriter: mappingInfo.JsonValueReaderWriter); + break; } } - else if (sourceType != null) - { - mapping = self.FindCollectionMapping(mappingInfo, sourceType, providerClrType, elementMapping); - } + + return mapping; } + if (mapping != null && customConverter != null) { diff --git a/src/EFCore/Storage/TypeMappingSourceBase.cs b/src/EFCore/Storage/TypeMappingSourceBase.cs index 94740285a43..b14adfb1264 100644 --- a/src/EFCore/Storage/TypeMappingSourceBase.cs +++ b/src/EFCore/Storage/TypeMappingSourceBase.cs @@ -152,7 +152,7 @@ protected virtual bool TryFindJsonCollectionMapping( { elementMapping ??= FindMapping(elementType); - if (elementMapping is { ElementTypeMapping: null, JsonValueReaderWriter: not null }) + if (elementMapping is { JsonValueReaderWriter: not null }) { var elementReader = elementMapping.JsonValueReaderWriter!; @@ -168,17 +168,19 @@ protected virtual bool TryFindJsonCollectionMapping( collectionReaderWriter = mappingInfo.JsonValueReaderWriter ?? (JsonValueReaderWriter?)Activator.CreateInstance( (elementType.IsNullableValueType() - ? typeof(JsonNullableStructCollectionReaderWriter<,,>) - : typeof(JsonCollectionReaderWriter<,,>)) - .MakeGenericType(modelClrType, typeToInstantiate, elementType.UnwrapNullableType()), + ? typeof(JsonCollectionOfNullableStructsReaderWriter<,>) + : elementType.IsValueType + ? typeof(JsonCollectionOfStructsReaderWriter<,>) + : typeof(JsonCollectionOfReferencesReaderWriter<,>)) + .MakeGenericType(typeToInstantiate, elementType.UnwrapNullableType()), elementReader); elementComparer = (ValueComparer?)Activator.CreateInstance( elementType.IsNullableValueType() - ? typeof(NullableValueTypeListComparer<>).MakeGenericType(elementType.UnwrapNullableType()) - : elementMapping.Comparer.Type.IsAssignableFrom(elementType) - ? typeof(ListComparer<>).MakeGenericType(elementType) - : typeof(ObjectListComparer<>).MakeGenericType(elementType), + ? typeof(NullableValueTypeListComparer<,>).MakeGenericType(typeToInstantiate, elementType.UnwrapNullableType()) + : elementType.IsValueType + ? typeof(ListComparer<,>).MakeGenericType(typeToInstantiate, elementType) + : typeof(ObjectListComparer<,>).MakeGenericType(typeToInstantiate, elementType), elementMapping.Comparer.ToNullableComparer(elementType)!); return true; diff --git a/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs index 8041257d809..2ea9797265a 100644 --- a/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs @@ -3,7 +3,6 @@ using System.Collections.Immutable; using Microsoft.Azure.Cosmos; -using Microsoft.EntityFrameworkCore.Cosmos.ChangeTracking.Internal; using Microsoft.EntityFrameworkCore.Cosmos.Internal; using Newtonsoft.Json.Linq; @@ -794,23 +793,18 @@ await Can_add_update_delete_with_collection>( // See #25343 await Can_add_update_delete_with_collection( [ - EntityType.Base, - EntityType.Derived, - EntityType.Derived + Discriminator.Base, + Discriminator.Derived, + Discriminator.Derived ], c => { c.Collection.Clear(); - c.Collection.Add(EntityType.Base); + c.Collection.Add(Discriminator.Base); }, - new List { EntityType.Base }, - modelBuilder => modelBuilder.Entity>>( - c => - c.Property(s => s.Collection) - .HasConversion( - m => m.Select(v => (int)v).ToList(), p => p.Select(v => (EntityType)v).ToList(), - new ListComparer>( - ValueComparer.CreateDefault(typeof(EntityType), false), readOnly: false)))); + new List { Discriminator.Base }, + modelBuilder => modelBuilder.Entity>>( + c => c.PrimitiveCollection(s => s.Collection))); await Can_add_update_delete_with_collection( [1f, 2], @@ -866,6 +860,7 @@ await Can_add_update_delete_with_collection( c.Collection.Add([3]); }, new List> { new() { 3 } }); + await Can_add_update_delete_with_collection>( new List(), c => @@ -874,13 +869,15 @@ await Can_add_update_delete_with_collection( c.Collection.Add(null); }, new List { new byte?[] { 3, null }, null }); - await Can_add_update_delete_with_collection>>( - new Dictionary[] { new() { { "1", null } } }, - c => - { - var dictionary = c.Collection[0]["3"] = "2"; - }, - new List> { new() { { "1", null }, { "3", "2" } } }); + + // await Can_add_update_delete_with_collection>>( + // new Dictionary[] { new() { { "1", null } } }, + // c => + // { + // var dictionary = c.Collection[0]["3"] = "2"; + // }, + // new List> { new() { { "1", null }, { "3", "2" } } }, + // onModelBuilder: b => b.Entity>>>().PrimitiveCollection(e => e.Collection)); await Can_add_update_delete_with_collection( [[1f], [2]], @@ -898,22 +895,22 @@ await Can_add_update_delete_with_collection( }, new[] { new decimal?[] { 1, 3 } }); - await Can_add_update_delete_with_collection( - new Dictionary> { { "1", [1] } }, - c => - { - c.Collection["2"] = [3]; - }, - new Dictionary> { { "1", [1] }, { "2", [3] } }); - - await Can_add_update_delete_with_collection>( - new SortedDictionary { { "2", [2] }, { "1", [1] } }, - c => - { - c.Collection.Clear(); - c.Collection["2"] = null; - }, - new SortedDictionary { { "2", null } }); + // await Can_add_update_delete_with_collection( + // new Dictionary> { { "1", [1] } }, + // c => + // { + // c.Collection["2"] = [3]; + // }, + // new Dictionary> { { "1", [1] }, { "2", [3] } }); + + // await Can_add_update_delete_with_collection>( + // new SortedDictionary { { "2", [2] }, { "1", [1] } }, + // c => + // { + // c.Collection.Clear(); + // c.Collection["2"] = null; + // }, + // new SortedDictionary { { "2", null } }); await Can_add_update_delete_with_collection>>( ImmutableDictionary>.Empty @@ -1863,7 +1860,7 @@ public async Task Can_have_non_string_property_named_Discriminator(bool useDiscr { b.Entity() .HasDiscriminator(m => m.Discriminator) - .HasValue(EntityType.Base); + .HasValue(Discriminator.Base); } else { @@ -1912,7 +1909,7 @@ OFFSET 0 LIMIT 1 ListLoggerFactory.Clear(); Assert.Equal( baseEntity, await context.Set() - .Where(e => e.Discriminator == EntityType.Base).OrderBy(e => e.Id).FirstOrDefaultAsync()); + .Where(e => e.Discriminator == Discriminator.Base).OrderBy(e => e.Id).FirstOrDefaultAsync()); if (useDiscriminator) { @@ -2001,10 +1998,10 @@ OFFSET 0 LIMIT 1 private class NonStringDiscriminator { public int Id { get; set; } - public EntityType Discriminator { get; set; } + public Discriminator Discriminator { get; set; } } - private enum EntityType + private enum Discriminator { Base, Derived diff --git a/test/EFCore.Cosmos.FunctionalTests/JsonTypesCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/JsonTypesCosmosTest.cs index 0de9b43cc0c..62e4c4488bb 100644 --- a/test/EFCore.Cosmos.FunctionalTests/JsonTypesCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/JsonTypesCosmosTest.cs @@ -1,224 +1,12 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Xunit.Sdk; - namespace Microsoft.EntityFrameworkCore; public class JsonTypesCosmosTest : JsonTypesTestBase { - // #25765 - the Cosmos type mapping source doesn't support primitive collections, so we end up with a Property - // that has no ElementType; that causes the assertion on the element nullability to fail. - public override Task Can_read_write_collection_of_string_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_string_JSON_values); - - // #25765 - the Cosmos type mapping source doesn't support primitive collections, so we end up with a Property - // that has no ElementType; that causes the assertion on the element nullability to fail. - public override Task Can_read_write_collection_of_binary_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_binary_JSON_values); - - // #25765 - the Cosmos type mapping source doesn't support primitive collections, so we end up with a Property - // that has no ElementType; that causes the assertion on the element nullability to fail. - public override Task Can_read_write_collection_of_nullable_string_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_string_JSON_values); - - public override Task Can_read_write_binary_as_collection() - => Assert.ThrowsAsync(base.Can_read_write_binary_as_collection); - - public override Task Can_read_write_collection_of_bool_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_bool_JSON_values); - - public override Task Can_read_write_collection_of_byte_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_byte_enum_JSON_values); - - public override Task Can_read_write_collection_of_byte_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_byte_JSON_values); - - public override Task Can_read_write_collection_of_char_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_char_JSON_values); - - public override Task Can_read_write_collection_of_DateOnly_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_DateOnly_JSON_values); - - public override Task Can_read_write_collection_of_DateTime_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_DateTime_JSON_values); - - public override Task Can_read_write_collection_of_DateTimeOffset_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_DateTimeOffset_JSON_values); - - public override Task Can_read_write_collection_of_decimal_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_decimal_JSON_values); - - public override Task Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values); - - public override Task Can_read_write_collection_of_double_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_double_JSON_values); - - public override Task Can_read_write_collection_of_float_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_float_JSON_values); - - public override Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values); - - public override Task Can_read_write_collection_of_GUID_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_GUID_JSON_values); - - public override Task Can_read_write_collection_of_int_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_int_enum_JSON_values); - - public override Task Can_read_write_collection_of_int_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_int_JSON_values); - - public override Task Can_read_write_collection_of_int_with_converter_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_int_with_converter_JSON_values); - - public override Task Can_read_write_collection_of_long_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_long_enum_JSON_values); - - public override Task Can_read_write_collection_of_long_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_long_JSON_values); - - public override Task Can_read_write_collection_of_nullable_binary_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_binary_JSON_values); - - public override Task Can_read_write_collection_of_nullable_bool_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_bool_JSON_values); - - public override Task Can_read_write_collection_of_nullable_byte_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_byte_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_byte_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_byte_JSON_values); - - public override Task Can_read_write_collection_of_nullable_char_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_char_JSON_values); - - public override Task Can_read_write_collection_of_nullable_DateOnly_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_DateOnly_JSON_values); - - public override Task Can_read_write_collection_of_nullable_DateTime_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_DateTime_JSON_values); - - public override Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values); - - public override Task Can_read_write_collection_of_nullable_decimal_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_decimal_JSON_values); - - public override Task Can_read_write_collection_of_nullable_double_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_double_JSON_values); - - public override Task Can_read_write_collection_of_nullable_float_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_float_JSON_values); - - public override Task Can_read_write_collection_of_nullable_GUID_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_GUID_JSON_values); - - public override Task Can_read_write_collection_of_nullable_int_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_int_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_int_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_int_JSON_values); - - public override Task Can_read_write_collection_of_ushort_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_ushort_JSON_values); - - public override Task Can_read_write_collection_of_ushort_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_ushort_enum_JSON_values); - - public override Task Can_read_write_collection_of_URI_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_URI_JSON_values); - - public override Task Can_read_write_collection_of_ulong_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_ulong_JSON_values); - - public override Task Can_read_write_collection_of_ulong_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_ulong_enum_JSON_values); - - public override Task Can_read_write_collection_of_uint_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_uint_JSON_values); - - public override Task Can_read_write_collection_of_uint_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_uint_enum_JSON_values); - - public override Task Can_read_write_collection_of_TimeSpan_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_TimeSpan_JSON_values); - - public override Task Can_read_write_collection_of_TimeOnly_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_TimeOnly_JSON_values); - - public override Task Can_read_write_collection_of_short_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_short_JSON_values); - - public override Task Can_read_write_collection_of_short_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_short_enum_JSON_values); - - public override Task Can_read_write_collection_of_sbyte_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_sbyte_JSON_values); - - public override Task Can_read_write_collection_of_sbyte_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_sbyte_enum_JSON_values); - - public override Task Can_read_write_collection_of_physical_address_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_physical_address_JSON_values); - - public override Task Can_read_write_collection_of_nullable_ushort_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_ushort_JSON_values); - - public override Task Can_read_write_collection_of_nullable_ushort_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_ushort_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_URI_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_URI_JSON_values); - - public override Task Can_read_write_collection_of_nullable_ulong_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_ulong_JSON_values); - - public override Task Can_read_write_collection_of_nullable_ulong_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_ulong_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_uint_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_uint_JSON_values); - - public override Task Can_read_write_collection_of_nullable_uint_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_uint_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_TimeSpan_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_TimeSpan_JSON_values); - - public override Task Can_read_write_collection_of_nullable_TimeOnly_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_TimeOnly_JSON_values); - - public override Task Can_read_write_collection_of_nullable_short_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_short_JSON_values); - - public override Task Can_read_write_collection_of_nullable_short_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_short_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_sbyte_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_sbyte_JSON_values); - - public override Task Can_read_write_collection_of_nullable_sbyte_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_sbyte_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_physical_address_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_physical_address_JSON_values); - - public override Task Can_read_write_collection_of_nullable_long_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_long_JSON_values); - - public override Task Can_read_write_collection_of_nullable_long_enum_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_long_enum_JSON_values); - - public override Task Can_read_write_collection_of_nullable_IP_address_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_IP_address_JSON_values); - - public override Task Can_read_write_collection_of_nullable_int_with_converter_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_nullable_int_with_converter_JSON_values); - - public override Task Can_read_write_collection_of_IP_address_JSON_values() - => Assert.ThrowsAsync(base.Can_read_write_collection_of_IP_address_JSON_values); + public override Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values(string expected) + => base.Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values("""{"Prop":["AAAAAAAAAAAAAAAAAAAAAA==","LyREjD\u002BOIEqL6JjHwarevQ==","/////////////////////w=="]}"""); public override Task Can_read_write_point() // No built-in JSON support for spatial types in the Cosmos provider diff --git a/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs b/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs index 763db363163..8c0fb56dbf7 100644 --- a/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/ModelBuilding/CosmosModelBuilderGenericTest.cs @@ -11,198 +11,6 @@ public class CosmosModelBuilderGenericTest : ModelBuilderTest { public class CosmosGenericNonRelationship(CosmosModelBuilderFixture fixture) : NonRelationshipTestBase(fixture), IClassFixture { - public override void Can_set_composite_key_for_primitive_collection_on_an_entity_with_fields() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(EntityWithFields), "CollectionCompanyId"), - Assert.Throws( - base.Can_set_composite_key_for_primitive_collection_on_an_entity_with_fields).Message); - - public override void Can_set_alternate_key_for_primitive_collection_on_an_entity_with_fields() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(EntityWithFields), "CollectionCompanyId"), - Assert.Throws( - base.Can_set_alternate_key_for_primitive_collection_on_an_entity_with_fields).Message); - - public override void Can_call_PrimitiveCollection_on_an_entity_with_fields() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(EntityWithFields), "CollectionId"), - Assert.Throws( - base.Can_call_PrimitiveCollection_on_an_entity_with_fields).Message); - - public override void Access_mode_can_be_overridden_at_entity_and_primitive_collection_levels() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Down"), - Assert.Throws( - base.Access_mode_can_be_overridden_at_entity_and_primitive_collection_levels).Message); - - public override void Can_set_custom_value_generator_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_custom_value_generator_for_primitive_collections).Message); - - public override void Can_set_element_type_annotation() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(Customer), "Notes"), - Assert.Throws( - base.Can_set_element_type_annotation).Message); - - public override void Can_set_max_length_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_max_length_for_primitive_collections).Message); - - public override void Can_set_primitive_collection_annotation() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(Customer), "Notes"), - Assert.Throws( - base.Can_set_primitive_collection_annotation).Message); - - public override void Can_set_primitive_collection_annotation_by_type() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(Customer), "Notes"), - Assert.Throws( - base.Can_set_primitive_collection_annotation_by_type).Message); - - public override void Can_set_primitive_collection_annotation_when_no_clr_property() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(Customer), "Notes"), - Assert.Throws( - base.Can_set_primitive_collection_annotation_when_no_clr_property).Message); - - public override void Can_set_sentinel_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_sentinel_for_primitive_collections).Message); - - public override void Can_set_unicode_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_unicode_for_primitive_collections).Message); - - public override void Element_types_are_nullable_by_default_if_the_type_is_nullable() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_are_nullable_by_default_if_the_type_is_nullable).Message); - - public override void Element_types_can_be_made_required() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_be_made_required).Message); - - public override void Element_types_can_have_custom_type_value_converter_type_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_have_custom_type_value_converter_type_set).Message); - - public override void Element_types_can_have_max_length() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_have_max_length).Message); - - public override void Element_types_can_have_non_generic_value_converter_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_have_non_generic_value_converter_set).Message); - - public override void Element_types_can_have_precision_and_scale() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_have_precision_and_scale).Message); - - public override void Element_types_can_have_provider_type_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_have_provider_type_set).Message); - - public override void Element_types_can_have_unicode_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_can_have_unicode_set).Message); - - public override void Element_types_have_default_precision_and_scale() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_have_default_precision_and_scale).Message); - - public override void Element_types_have_default_unicode() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_have_default_unicode).Message); - - public override void Element_types_have_no_max_length_by_default() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Element_types_have_no_max_length_by_default).Message); - - public override void Primitive_collections_are_required_by_default_only_if_CLR_type_is_nullable() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_are_required_by_default_only_if_CLR_type_is_nullable).Message); - - public override void Primitive_collections_can_be_made_optional() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_be_made_optional).Message); - - public override void Primitive_collections_can_be_made_required() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_be_made_required).Message); - - public override void Primitive_collections_can_be_set_to_generate_values_on_Add() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Primitive_collections_can_be_set_to_generate_values_on_Add).Message); - - public override void Primitive_collections_can_have_access_mode_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_have_access_mode_set).Message); - - public override void Primitive_collections_can_have_field_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Down"), - Assert.Throws( - base.Primitive_collections_can_have_field_set).Message); - - public override void Primitive_collections_can_have_value_converter_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_have_value_converter_set).Message); - - public override void Primitive_collections_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties).Message); - - public override void Value_converter_type_on_primitive_collection_is_checked() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Up"), - Assert.Throws( - base.Value_converter_type_on_primitive_collection_is_checked).Message); - public override void Properties_can_set_row_version() => Assert.Equal( CosmosStrings.NonETagConcurrencyToken(nameof(Quarks), "Charm"), @@ -215,28 +23,20 @@ public override void Properties_can_be_made_concurrency_tokens() Assert.Throws( base.Properties_can_be_made_concurrency_tokens).Message); - public override void Properties_can_have_provider_type_set_for_type() - { - var modelBuilder = CreateModelBuilder(c => c.Properties().HaveConversion()); + public override void Primitive_collections_can_be_made_concurrency_tokens() + => Assert.Equal( + CosmosStrings.NonETagConcurrencyToken(nameof(CollectionQuarks), "Charm"), + Assert.Throws( + base.Primitive_collections_can_be_made_concurrency_tokens).Message); - modelBuilder.Entity( - b => - { - b.Property(e => e.Up); - b.Property(e => e.Down); - b.Property("Charm"); - b.Property("Strange"); - b.Property("__id").HasConversion(null); - }); + public override void Properties_can_have_custom_type_value_converter_type_set() + => Properties_can_have_custom_type_value_converter_type_set(); - var model = modelBuilder.FinalizeModel(); - var entityType = (IReadOnlyEntityType)model.FindEntityType(typeof(Quarks))!; + public override void Properties_can_have_non_generic_value_converter_set() + => Properties_can_have_non_generic_value_converter_set(); - Assert.Null(entityType.FindProperty("Up")!.GetProviderClrType()); - Assert.Same(typeof(byte[]), entityType.FindProperty("Down")!.GetProviderClrType()); - Assert.Null(entityType.FindProperty("Charm")!.GetProviderClrType()); - Assert.Same(typeof(byte[]), entityType.FindProperty("Strange")!.GetProviderClrType()); - } + public override void Properties_can_have_provider_type_set() + => Properties_can_have_provider_type_set(); public override void Properties_can_be_set_to_generate_values_on_Add() { @@ -435,113 +235,20 @@ public virtual void No_alternate_key_is_created_if_id_is_partition_key() Assert.Empty(entity.GetKeys().Where(k => k != entity.FindPrimaryKey())); } - public override void Primitive_collections_can_be_made_concurrency_tokens() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_be_made_concurrency_tokens).Message); - protected override TestModelBuilder CreateModelBuilder(Action? configure = null) => new GenericTestModelBuilder(Fixture, configure); } public class CosmosGenericComplexType(CosmosModelBuilderFixture fixture) : ComplexTypeTestBase(fixture), IClassFixture { - public override void Access_mode_can_be_overridden_at_entity_and_property_levels() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Down"), - Assert.Throws( - base.Access_mode_can_be_overridden_at_entity_and_property_levels).Message); + public override void Properties_can_have_custom_type_value_converter_type_set() + => Properties_can_have_custom_type_value_converter_type_set(); - public override void Can_add_shadow_primitive_collections_when_they_have_been_ignored() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(Customer), "Shadow"), - Assert.Throws( - base.Can_add_shadow_primitive_collections_when_they_have_been_ignored).Message); + public override void Properties_can_have_non_generic_value_converter_set() + => Properties_can_have_non_generic_value_converter_set(); - public override void Can_call_PrimitiveCollection_on_a_field() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(EntityWithFields), "CollectionId"), - Assert.Throws( - base.Can_call_PrimitiveCollection_on_a_field).Message); - - public override void Can_set_custom_value_generator_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_custom_value_generator_for_primitive_collections).Message); - - public override void Can_set_max_length_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_max_length_for_primitive_collections).Message); - - public override void Can_set_primitive_collection_annotation_when_no_clr_property() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(Customer), "Ints"), - Assert.Throws( - base.Can_set_primitive_collection_annotation_when_no_clr_property).Message); - - public override void Can_set_sentinel_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_sentinel_for_primitive_collections).Message); - - public override void Can_set_unicode_for_primitive_collections() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Can_set_unicode_for_primitive_collections).Message); - - public override void Primitive_collections_are_required_by_default_only_if_CLR_type_is_nullable() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_are_required_by_default_only_if_CLR_type_is_nullable).Message); - - public override void Primitive_collections_can_be_made_concurrency_tokens() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_be_made_concurrency_tokens).Message); - - public override void Primitive_collections_can_be_made_optional() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_be_made_optional).Message); - - public override void Primitive_collections_can_be_made_required() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_can_be_made_required).Message); - - public override void Primitive_collections_can_be_set_to_generate_values_on_Add() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Bottom"), - Assert.Throws( - base.Primitive_collections_can_be_set_to_generate_values_on_Add).Message); - - public override void Primitive_collections_can_have_field_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Down"), - Assert.Throws( - base.Primitive_collections_can_have_field_set).Message); - - public override void Primitive_collections_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Charm"), - Assert.Throws( - base.Primitive_collections_specified_by_string_are_shadow_properties_unless_already_known_to_be_CLR_properties).Message); - - public override void Properties_can_have_access_mode_set() - => Assert.Equal( - CosmosStrings.PrimitiveCollectionsNotSupported(nameof(CollectionQuarks), "Down"), - Assert.Throws( - base.Properties_can_have_access_mode_set).Message); + public override void Properties_can_have_provider_type_set() + => Properties_can_have_provider_type_set(); public override void Can_set_complex_property_annotation() { @@ -570,38 +277,7 @@ public override void Can_set_complex_property_annotation() AlternateKey (Guid) Required Id (int) Required Name (string) - Notes (List)", complexProperty.ToDebugString(), ignoreLineEndingDifferences: true); - } - - public override void Properties_can_have_provider_type_set_for_type() - { - var modelBuilder = CreateModelBuilder(c => c.Properties().HaveConversion()); - - modelBuilder - .Ignore() - .Ignore() - .Entity( - b => - { - b.Property("__id").HasConversion(null); - b.ComplexProperty( - e => e.Quarks, - b => - { - b.Property(e => e.Up); - b.Property(e => e.Down); - b.Property("Charm"); - b.Property("Strange"); - }); - }); - - var model = modelBuilder.FinalizeModel(); - var complexType = model.FindEntityType(typeof(ComplexProperties))!.GetComplexProperties().Single().ComplexType; - - Assert.Null(complexType.FindProperty("Up")!.GetProviderClrType()); - Assert.Same(typeof(byte[]), complexType.FindProperty("Down")!.GetProviderClrType()); - Assert.Null(complexType.FindProperty("Charm")!.GetProviderClrType()); - Assert.Same(typeof(byte[]), complexType.FindProperty("Strange")!.GetProviderClrType()); + Notes (List) Element type: string Required", complexProperty.ToDebugString(), ignoreLineEndingDifferences: true); } [ConditionalFact] diff --git a/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs b/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs index 502567774a5..5edf68d9006 100644 --- a/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs +++ b/test/EFCore.Cosmos.Tests/ValueGeneration/IdValueGeneratorTest.cs @@ -29,7 +29,6 @@ public void Generated_ids_do_not_clash() Create(new IntClassEntity { Id = new IntClass(2) }), Create(new IntStructEntity { Id = new IntStruct(1) }), Create(new IntStructEntity { Id = new IntStruct(2) }), - Create(new BytesStructEntity { Id = new BytesStruct(null) }), Create(new BytesStructEntity { Id = new BytesStruct([]) }), Create(new BytesStructEntity { Id = new BytesStruct([1]) }), Create(new BytesStructEntity { Id = new BytesStruct([2, 2]) }), diff --git a/test/EFCore.Relational.Specification.Tests/Query/JsonQueryFixtureBase.cs b/test/EFCore.Relational.Specification.Tests/Query/JsonQueryFixtureBase.cs index 16d35739592..a755d47755d 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/JsonQueryFixtureBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/JsonQueryFixtureBase.cs @@ -415,7 +415,7 @@ public static void AssertAllTypes(JsonOwnedAllTypes expected, JsonOwnedAllTypes AssertPrimitiveCollection(expected.TestDateTimeOffsetCollection, actual.TestDateTimeOffsetCollection); AssertPrimitiveCollection(expected.TestDoubleCollection, actual.TestDoubleCollection); AssertPrimitiveCollection(expected.TestGuidCollection, actual.TestGuidCollection); - AssertPrimitiveCollection(expected.TestInt16Collection, actual.TestInt16Collection); + AssertPrimitiveCollection((IList)expected.TestInt16Collection, (IList)actual.TestInt16Collection); AssertPrimitiveCollection(expected.TestInt32Collection, actual.TestInt32Collection); AssertPrimitiveCollection(expected.TestInt64Collection, actual.TestInt64Collection); AssertPrimitiveCollection(expected.TestSignedByteCollection, actual.TestSignedByteCollection); diff --git a/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonEntityAllTypes.cs b/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonEntityAllTypes.cs index ded1301b6fa..157cd0ee3cd 100644 --- a/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonEntityAllTypes.cs +++ b/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonEntityAllTypes.cs @@ -11,15 +11,16 @@ namespace Microsoft.EntityFrameworkCore.TestModels.JsonQuery; public class JsonEntityAllTypes { - private List _testInt64CollectionX = []; - private IList _testDoubleCollectionX = new List(); - private List _testSingleCollectionX = [1.1f, 1.2f]; - private IList _testBooleanCollectionX = new List { true }; - private ObservableCollection _testCharacterCollectionX = []; private ObservableCollection _testNullableInt32CollectionX = [99]; private Collection _testNullableEnumCollectionX = []; private Collection _testNullableEnumWithIntConverterCollectionX = [JsonEnum.Three]; + public List> TestInt64CollectionCollection { get; set; } = []; + public IReadOnlyList TestDoubleCollectionCollection { get; set; } = new List(); + public List[] TestSingleCollectionCollection { get; set; } = [[1.1f, 1.2f]]; + public bool[][] TestBooleanCollectionCollection { get; set; } = []; + public ObservableCollection> TestCharacterCollectionCollection { get; set; } = []; + public int Id { get; set; } public JsonOwnedAllTypes Reference { get; init; } public List Collection { get; init; } @@ -28,72 +29,33 @@ public class JsonEntityAllTypes public List TestMaxLengthStringCollection { get; init; } public IList TestInt16Collection { get; set; } - public int[] TestInt32Collection { get; set; } = []; + public string[][] TestDefaultStringCollectionCollection { get; init; } + public List> TestMaxLengthStringCollectionCollection { get; init; } + public IReadOnlyList> TestInt16CollectionCollection { get; set; } - public List TestInt64Collection - { - get => _testInt64CollectionX; - set - { - _testInt64CollectionX = value; - NewCollectionSet = true; - } - } + public int[] TestInt32Collection { get; set; } = []; - public IList TestDoubleCollection - { - get => _testDoubleCollectionX; - set - { - _testDoubleCollectionX = value; - NewCollectionSet = true; - } - } + public int[][] TestInt32CollectionCollection { get; set; } = []; public decimal[] TestDecimalCollection { get; set; } public List TestDateTimeCollection { get; set; } public IList TestDateTimeOffsetCollection { get; set; } public TimeSpan[] TestTimeSpanCollection { get; set; } = [new(1, 1, 1)]; - public List TestSingleCollection - { - get => _testSingleCollectionX; - set - { - _testSingleCollectionX = value; - NewCollectionSet = true; - } - } - - public IList TestBooleanCollection - { - get => _testBooleanCollectionX; - set - { - _testBooleanCollectionX = value; - NewCollectionSet = true; - } - } - + public ReadOnlyCollection TestInt64Collection { get; set; } = new ReadOnlyCollection([]); + public IList TestDoubleCollection { get; set; } = new List(); + public IReadOnlyList TestSingleCollection { get; set; } = [1.1f, 1.2f]; + public IList TestBooleanCollection { get; set; } = new List { true }; + public ObservableCollection TestCharacterCollection { get; set; } = []; public byte[] TestByteCollection { get; set; } [Required] - public List TestGuidCollection { get; set; } + public ReadOnlyCollection TestGuidCollection { get; set; } public IList TestUnsignedInt16Collection { get; set; } public uint[] TestUnsignedInt32Collection { get; set; } public ObservableCollection TestUnsignedInt64Collection { get; set; } - public ObservableCollection TestCharacterCollection - { - get => _testCharacterCollectionX; - set - { - _testCharacterCollectionX = value; - NewCollectionSet = true; - } - } - public sbyte[] TestSignedByteCollection { get; set; } public ObservableCollection TestNullableInt32Collection @@ -129,6 +91,9 @@ public Collection TestNullableEnumWithIntConverterCollection } } + public ObservableCollection TestNullableInt32CollectionCollection { get; set; } = [[99]]; + public ICollection>> TestNullableEnumCollectionCollection { get; set; } = []; + public JsonEnum?[][][] TestNullableEnumWithIntConverterCollectionCollection { get; set; } = [[[JsonEnum.Three]]]; public JsonEnum?[] TestNullableEnumWithConverterThatHandlesNullsCollection { get; set; } [NotMapped] diff --git a/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonOwnedAllTypes.cs b/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonOwnedAllTypes.cs index 957445030fc..85558f64b35 100644 --- a/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonOwnedAllTypes.cs +++ b/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonOwnedAllTypes.cs @@ -47,9 +47,15 @@ public class JsonOwnedAllTypes public JsonEnum? TestNullableEnumWithIntConverter { get; set; } public JsonEnum? TestNullableEnumWithConverterThatHandlesNulls { get; set; } + public List> TestInt64CollectionCollection { get; set; } = []; + public List TestDoubleCollectionCollection { get; set; } = new(); + public List TestSingleCollectionCollection { get; set; } = new([([1.1f, 1.2f])]); + public bool[][] TestBooleanCollectionCollection { get; set; } = []; + public ObservableCollection> TestCharacterCollectionCollection { get; set; } = []; + public string[] TestDefaultStringCollection { get; set; } - public List TestMaxLengthStringCollection { get; set; } - public IList TestInt16Collection { get; set; } + public ReadOnlyCollection TestMaxLengthStringCollection { get; set; } + public IReadOnlyList TestInt16Collection { get; set; } public int[] TestInt32Collection { get; set; } = []; @@ -80,6 +86,16 @@ public IList TestDoubleCollection public DateOnly[] TestDateOnlyCollection { get; set; } public TimeOnly[] TestTimeOnlyCollection { get; set; } + public string[][] TestDefaultStringCollectionCollection { get; init; } + public List> TestMaxLengthStringCollectionCollection { get; init; } + public IList> TestInt16CollectionCollection { get; set; } + + public int[][] TestInt32CollectionCollection { get; set; } = []; + + public ObservableCollection TestNullableInt32CollectionCollection { get; set; } = [[99]]; + public ICollection>> TestNullableEnumCollectionCollection { get; set; } = []; + public JsonEnum?[][][] TestNullableEnumWithIntConverterCollectionCollection { get; set; } = [[[JsonEnum.Three]]]; + public List TestSingleCollection { get => _testSingleCollectionX; diff --git a/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonQueryData.cs b/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonQueryData.cs index 08b314d1779..c8b39a32495 100644 --- a/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonQueryData.cs +++ b/test/EFCore.Relational.Specification.Tests/TestModels/JsonQuery/JsonQueryData.cs @@ -719,12 +719,12 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() TestNullableEnumWithIntConverter = JsonEnum.Two, TestNullableEnumWithConverterThatHandlesNulls = JsonEnum.Three, TestDefaultStringCollection = ["S1", "\"S2\"", "S3"], - TestMaxLengthStringCollection = + TestMaxLengthStringCollection = new ReadOnlyCollection( [ "S1", "S2", "S3" - ], + ]), TestBooleanCollection = new[] { true, false }, TestCharacterCollection = [ @@ -793,7 +793,19 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() JsonEnum.Three, (JsonEnum)(-7) ], - TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)] + TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)], + TestDefaultStringCollectionCollection = [["S11", "S12", "S13"], null, ["S21", null, "S23"]], + TestMaxLengthStringCollectionCollection = [new ReadOnlyCollection(["S11", "S12", "S13"]), null, new ReadOnlyCollection(["S21", null, "S23"])], + TestBooleanCollectionCollection = [[true], null, [true, false]], + TestCharacterCollectionCollection = [['A', 'B', 'C'], null, ['D', 'E', 'F']], + TestDoubleCollectionCollection = [[-1.23456789, -1.23456789], null, [1.23456789]], + TestInt16CollectionCollection = [[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue]], + TestInt32CollectionCollection = [[int.MinValue, 0, int.MaxValue], null, [int.MinValue, 0, int.MaxValue]], + TestInt64CollectionCollection = [[long.MinValue, 0, long.MaxValue], null, [long.MinValue, 0, long.MaxValue]], + TestSingleCollectionCollection = [[-1.234F, 0.0F, -1.234F], null, [-1.234F, 0.0F, -1.234F]], + TestNullableInt32CollectionCollection = [null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue]], + TestNullableEnumCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + TestNullableEnumWithIntConverterCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], }; var r2 = new JsonOwnedAllTypes @@ -826,12 +838,12 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() TestNullableEnumWithIntConverter = null, TestNullableEnumWithConverterThatHandlesNulls = null, TestDefaultStringCollection = ["S1", "\"S2\"", "S3"], - TestMaxLengthStringCollection = + TestMaxLengthStringCollection = new ReadOnlyCollection( [ "S1", "S2", "S3" - ], + ]), TestBooleanCollection = new[] { true, false }, TestCharacterCollection = [ @@ -895,7 +907,19 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() JsonEnum.Three, (JsonEnum)(-7) ], - TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)] + TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)], + TestDefaultStringCollectionCollection = [["S11", "S12", "S13"], null, ["S21", null, "S23"]], + TestMaxLengthStringCollectionCollection = [new ReadOnlyCollection(["S11", "S12", "S13"]), null, new ReadOnlyCollection(["S21", null, "S23"])], + TestBooleanCollectionCollection = [[true], null, [true, false]], + TestCharacterCollectionCollection = [['A', 'B', 'C'], null, ['D', 'E', 'F']], + TestDoubleCollectionCollection = [[-1.23456789, -1.23456789], null, [1.23456789]], + TestInt16CollectionCollection = [[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue]], + TestInt32CollectionCollection = [[int.MinValue, 0, int.MaxValue], null, [int.MinValue, 0, int.MaxValue]], + TestInt64CollectionCollection = [[long.MinValue, 0, long.MaxValue], null, [long.MinValue, 0, long.MaxValue]], + TestSingleCollectionCollection = [[-1.234F, 0.0F, -1.234F], null, [-1.234F, 0.0F, -1.234F]], + TestNullableInt32CollectionCollection = [null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue]], + TestNullableEnumCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + TestNullableEnumWithIntConverterCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], }; var c1 = new JsonOwnedAllTypes @@ -928,12 +952,12 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() TestNullableEnumWithIntConverter = JsonEnum.Three, TestNullableEnumWithConverterThatHandlesNulls = JsonEnum.Two, TestDefaultStringCollection = ["S1", "\"S2\"", "S3"], - TestMaxLengthStringCollection = + TestMaxLengthStringCollection = new ReadOnlyCollection( [ "S1", "S2", "S3" - ], + ]), TestBooleanCollection = new[] { true, false }, TestCharacterCollection = [ @@ -997,7 +1021,19 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() JsonEnum.Three, (JsonEnum)(-7) }, - TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)] + TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)], + TestDefaultStringCollectionCollection = [["S11", "S12", "S13"], null, ["S21", null, "S23"]], + TestMaxLengthStringCollectionCollection = [new ReadOnlyCollection(["S11", "S12", "S13"]), null, new ReadOnlyCollection(["S21", null, "S23"])], + TestBooleanCollectionCollection = [[true], null, [true, false]], + TestCharacterCollectionCollection = [['A', 'B', 'C'], null, ['D', 'E', 'F']], + TestDoubleCollectionCollection = [[-1.23456789, -1.23456789], null, [1.23456789]], + TestInt16CollectionCollection = [[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue]], + TestInt32CollectionCollection = [[int.MinValue, 0, int.MaxValue], null, [int.MinValue, 0, int.MaxValue]], + TestInt64CollectionCollection = [[long.MinValue, 0, long.MaxValue], null, [long.MinValue, 0, long.MaxValue]], + TestSingleCollectionCollection = [[-1.234F, 0.0F, -1.234F], null, [-1.234F, 0.0F, -1.234F]], + TestNullableInt32CollectionCollection = [null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue]], + TestNullableEnumCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + TestNullableEnumWithIntConverterCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], }; var c2 = new JsonOwnedAllTypes @@ -1030,12 +1066,12 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() TestNullableEnumWithIntConverter = null, TestNullableEnumWithConverterThatHandlesNulls = null, TestDefaultStringCollection = ["S1", "\"S2\"", "S3"], - TestMaxLengthStringCollection = + TestMaxLengthStringCollection = new ReadOnlyCollection( [ "S1", "S2", "S3" - ], + ]), TestBooleanCollection = new[] { true, false }, TestCharacterCollection = [ @@ -1099,7 +1135,19 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() JsonEnum.Three, (JsonEnum)(-7) }, - TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)] + TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)], + TestDefaultStringCollectionCollection = [["S11", "S12", "S13"], null, ["S21", null, "S23"]], + TestMaxLengthStringCollectionCollection = [new ReadOnlyCollection(["S11", "S12", "S13"]), null, new ReadOnlyCollection(["S21", null, "S23"])], + TestBooleanCollectionCollection = [[true], null, [true, false]], + TestCharacterCollectionCollection = [['A', 'B', 'C'], null, ['D', 'E', 'F']], + TestDoubleCollectionCollection = [[-1.23456789, -1.23456789], null, [1.23456789]], + TestInt16CollectionCollection = [[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue]], + TestInt32CollectionCollection = [[int.MinValue, 0, int.MaxValue], null, [int.MinValue, 0, int.MaxValue]], + TestInt64CollectionCollection = [[long.MinValue, 0, long.MaxValue], null, [long.MinValue, 0, long.MaxValue]], + TestSingleCollectionCollection = [[-1.234F, 0.0F, -1.234F], null, [-1.234F, 0.0F, -1.234F]], + TestNullableInt32CollectionCollection = [null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue]], + TestNullableEnumCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + TestNullableEnumWithIntConverterCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], }; return new List @@ -1129,15 +1177,15 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() new[] { new DateTimeOffset(DateTime.Parse("01/01/2000 12:34:56"), TimeSpan.FromHours(-8.0)) }, TestDoubleCollection = new[] { -1.23456789, 1.23456789, 0.0 }, TestDecimalCollection = [-1234567890.01M], - TestGuidCollection = [new("12345678-1234-4321-7777-987654321000")], + TestGuidCollection = new ReadOnlyCollection([new("12345678-1234-4321-7777-987654321000")]), TestInt16Collection = new[] { short.MinValue, (short)0, short.MaxValue }, TestInt32Collection = [int.MinValue, 0, int.MaxValue], - TestInt64Collection = + TestInt64Collection = new ReadOnlyCollection( [ long.MinValue, 0, long.MaxValue - ], + ]), TestSignedByteCollection = [sbyte.MinValue, (sbyte)0, sbyte.MaxValue], TestSingleCollection = [ @@ -1184,7 +1232,19 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() JsonEnum.Three, (JsonEnum)(-7) ], - TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)] + TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)], + TestDefaultStringCollectionCollection = [["S11", "S12", "S13"], null, ["S21", null, "S23"]], + TestMaxLengthStringCollectionCollection = [["S11", "S12", "S13"], null, ["S21", null, "S23"]], + TestBooleanCollectionCollection = [[true], null, [true, false]], + TestCharacterCollectionCollection = [new ReadOnlyCollection(['A', 'B', 'C']), null, new ReadOnlyCollection(['D', 'E', 'F'])], + TestDoubleCollectionCollection = [[-1.23456789, -1.23456789], null, [1.23456789]], + TestInt16CollectionCollection = [[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue]], + TestInt32CollectionCollection = [[int.MinValue, 0, int.MaxValue], null, [int.MinValue, 0, int.MaxValue]], + TestInt64CollectionCollection = [[long.MinValue, 0, long.MaxValue], null, [long.MinValue, 0, long.MaxValue]], + TestSingleCollectionCollection = [[-1.234F, 0.0F, -1.234F], null, [-1.234F, 0.0F, -1.234F]], + TestNullableInt32CollectionCollection = [null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue]], + TestNullableEnumCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + TestNullableEnumWithIntConverterCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], }, new() { @@ -1211,15 +1271,15 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() new[] { new DateTimeOffset(DateTime.Parse("01/01/2000 12:34:56"), TimeSpan.FromHours(-8.0)) }, TestDoubleCollection = new[] { -1.23456789, 1.23456789, 0.0 }, TestDecimalCollection = [-1234567890.01M], - TestGuidCollection = [new("12345678-1234-4321-7777-987654321000")], + TestGuidCollection = new ReadOnlyCollection([new("12345678-1234-4321-7777-987654321000")]), TestInt16Collection = new[] { short.MinValue, (short)0, short.MaxValue }, TestInt32Collection = [int.MinValue, 0, int.MaxValue], - TestInt64Collection = + TestInt64Collection = new ReadOnlyCollection( [ long.MinValue, 0, long.MaxValue - ], + ]), TestSignedByteCollection = [sbyte.MinValue, (sbyte)0, sbyte.MaxValue], TestSingleCollection = [ @@ -1266,7 +1326,19 @@ public static IReadOnlyList CreateJsonEntitiesAllTypes() JsonEnum.Three, (JsonEnum)(-7) ], - TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)] + TestNullableEnumWithConverterThatHandlesNullsCollection = [JsonEnum.One, null, (JsonEnum)(-7)], + TestDefaultStringCollectionCollection = [["S11B", "S12B", "S13B"], null, ["S21B", null, "S23B"]], + TestMaxLengthStringCollectionCollection = [["S11B", "S12B", "S13B"], null, ["S21B", null, "S23B"]], + TestBooleanCollectionCollection = [[true], null, [true, false]], + TestCharacterCollectionCollection = [new ReadOnlyCollection(['A', 'B', 'C']), null, new ReadOnlyCollection(['D', 'E', 'F'])], + TestDoubleCollectionCollection = [[-1.23456789, -1.23456789], null, [1.23456789]], + TestInt16CollectionCollection = [[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue]], + TestInt32CollectionCollection = [[int.MinValue, 0, int.MaxValue], null, [int.MinValue, 0, int.MaxValue]], + TestInt64CollectionCollection = [[long.MinValue, 0, long.MaxValue], null, [long.MinValue, 0, long.MaxValue]], + TestSingleCollectionCollection = [[-1.234F, 0.0F, -1.234F], null, [-1.234F, 0.0F, -1.234F]], + TestNullableInt32CollectionCollection = [null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue]], + TestNullableEnumCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + TestNullableEnumWithIntConverterCollectionCollection = [[null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], } }; } diff --git a/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs b/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs index 2edc291e259..035e7fa0fdd 100644 --- a/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Update/JsonUpdateTestBase.cs @@ -2627,7 +2627,7 @@ public virtual Task Edit_single_property_relational_collection_of_guid() { var query = await context.JsonEntitiesAllTypes.ToListAsync(); var entity = query.Single(x => x.Id == 1); - entity.TestGuidCollection = [new("12345678-1234-4321-5555-987654321000")]; + entity.TestGuidCollection = new ReadOnlyCollection([new("12345678-1234-4321-5555-987654321000")]); ClearLog(); await context.SaveChangesAsync(); @@ -2635,7 +2635,7 @@ public virtual Task Edit_single_property_relational_collection_of_guid() async context => { var result = await context.Set().SingleAsync(x => x.Id == 1); - Assert.Equal([new("12345678-1234-4321-5555-987654321000")], result.TestGuidCollection); + Assert.Equal(new ReadOnlyCollection([new("12345678-1234-4321-5555-987654321000")]), result.TestGuidCollection); Assert.False(result.NewCollectionSet); }); @@ -2693,7 +2693,7 @@ public virtual Task Edit_single_property_relational_collection_of_int64() { var query = await context.JsonEntitiesAllTypes.ToListAsync(); var entity = query.Single(x => x.Id == 1); - entity.TestInt64Collection.Clear(); + entity.TestInt64Collection = new([]); ClearLog(); await context.SaveChangesAsync(); @@ -2737,7 +2737,7 @@ public virtual Task Edit_single_property_relational_collection_of_single() { var query = await context.JsonEntitiesAllTypes.ToListAsync(); var entity = query.Single(x => x.Id == 1); - entity.TestSingleCollection.RemoveAt(0); + entity.TestSingleCollection = new[] { 0.0F, -1.234F }; ClearLog(); await context.SaveChangesAsync(); @@ -3065,18 +3065,259 @@ public virtual Task Edit_single_property_relational_collection_of_nullable_enum_ }); [ConditionalFact] - public virtual async Task SaveChanges_throws_when_required_primitive_collection_is_null() - => await TestHelpers.ExecuteWithStrategyInTransactionAsync( + public virtual Task Edit_single_property_collection_of_collection_of_bool() + { + var expected1 = new[] { new[] { true, true, false }, null, Array.Empty(), new[] { true, true, false } }; + var expected2 = new[] { new[] { true, true, true, false }, null, Array.Empty(), new[] { true, true, true, false } }; + + return TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestBooleanCollectionCollection = expected1; + entity.Collection[0].TestBooleanCollectionCollection = expected2; + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal(expected1, result.Reference.TestBooleanCollectionCollection); + Assert.Equal(expected2, result.Collection[0].TestBooleanCollectionCollection); + }); + } + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_char() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestCharacterCollectionCollection[0] = + ['E', 'F', 'C', 'ö', 'r', 'E', '\"', '\\']; + entity.Collection[0].TestCharacterCollectionCollection[2] = ['D', 'E', 'F', '\0']; + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal([['E', 'F', 'C', 'ö', 'r', 'E', '\"', '\\'], null, ['D', 'E', 'F']], result.Reference.TestCharacterCollectionCollection); + Assert.Equal([['A', 'B', 'C'], null, ['D', 'E', 'F', '\0']], result.Collection[0].TestCharacterCollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_double() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestDoubleCollectionCollection[0][1] = -3.23579; + entity.Reference.TestDoubleCollectionCollection[2] = null; + entity.Collection[0].TestDoubleCollectionCollection[1] = [-3.23579]; + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal([[-1.23456789, -3.23579], null, null], result.Reference.TestDoubleCollectionCollection); + Assert.Equal([[-1.23456789, -1.23456789], [-3.23579], [1.23456789]], result.Collection[0].TestDoubleCollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_int16() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestInt16CollectionCollection[2] = [short.MinValue, 0, short.MaxValue, 3234]; + entity.Collection[0].TestInt16CollectionCollection.Add(null); + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal([[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue, 3234]], result.Reference.TestInt16CollectionCollection); + Assert.Equal([[short.MinValue, 0, short.MaxValue], null, [short.MinValue, 0, short.MaxValue], null], result.Collection[0].TestInt16CollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_int32() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestInt32CollectionCollection[0] = [-3234]; + entity.Collection[0].TestInt32CollectionCollection[2] = [-3234]; + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal([[-3234], null, [int.MinValue, 0, int.MaxValue]], result.Reference.TestInt32CollectionCollection); + Assert.Equal([[int.MinValue, 0, int.MaxValue], null, [-3234]], result.Collection[0].TestInt32CollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_int64() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestInt64CollectionCollection.Clear(); + entity.Collection[0].TestInt64CollectionCollection.Clear(); + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Empty(result.Reference.TestInt64CollectionCollection); + Assert.Empty(result.Collection[0].TestInt64CollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_single() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestSingleCollectionCollection.RemoveAt(0); + entity.Collection[0].TestSingleCollectionCollection.RemoveAt(1); + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal([null, [-1.234F, 0.0F, -1.234F]], result.Reference.TestSingleCollectionCollection); + Assert.Equal([[-1.234F, 0.0F, -1.234F], [-1.234F, 0.0F, -1.234F]], result.Collection[0].TestSingleCollectionCollection); + + Assert.False(result.Reference.NewCollectionSet); + Assert.False(result.Collection[0].NewCollectionSet); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_nullable_int32() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestNullableInt32CollectionCollection[0] = [77]; + entity.Reference.TestNullableInt32CollectionCollection.Add(null); + entity.Collection[0].TestNullableInt32CollectionCollection.Add([null, 77]); + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Equal([[77], [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue], null], result.Reference.TestNullableInt32CollectionCollection); + Assert.Equal([null, [int.MinValue, null, int.MaxValue, null], null, [int.MinValue, 0, int.MaxValue], [null, 77]], result.Collection[0].TestNullableInt32CollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_nullable_int32_set_to_null() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestNullableInt32CollectionCollection = null; + entity.Collection[0].TestNullableInt32CollectionCollection = null; + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Null(result.Reference.TestNullableInt32CollectionCollection); + Assert.Null(result.Collection[0].TestNullableInt32CollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_nullable_enum_set_to_null() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( + CreateContext, + UseTransaction, + async context => + { + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestNullableEnumCollectionCollection = null; + entity.Collection[0].TestNullableEnumCollectionCollection = null; + + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); + Assert.Null(result.Reference.TestNullableEnumCollectionCollection); + Assert.Null(result.Collection[0].TestNullableEnumCollectionCollection); + }); + + [ConditionalFact] + public virtual Task Edit_single_property_collection_of_collection_of_nullable_enum_with_int_converter() + => TestHelpers.ExecuteWithStrategyInTransactionAsync( CreateContext, UseTransaction, async context => { - var entity = new JsonEntityAllTypes { TestGuidCollection = null }; - context.Add(entity); + var query = await context.JsonEntitiesAllTypes.ToListAsync(); + var entity = query.Single(x => x.Id == 1); + entity.Reference.TestNullableEnumWithIntConverterCollectionCollection[0][1][1] = JsonEnum.Two; + entity.Reference.TestNullableEnumWithIntConverterCollectionCollection[0][1] = [JsonEnum.Two, null]; + entity.Collection[0].TestNullableEnumWithIntConverterCollectionCollection[0] = [null, [null, null]]; + ClearLog(); + await context.SaveChangesAsync(); + }, + async context => + { + var result = await context.Set().SingleAsync(x => x.Id == 1); Assert.Equal( - CoreStrings.NullRequiredPrimitiveCollection(nameof(JsonEntityAllTypes), nameof(JsonEntityAllTypes.TestGuidCollection)), - (await Assert.ThrowsAsync(async () => await context.SaveChangesAsync())).Message); + [[null, [JsonEnum.Two, null], null, [JsonEnum.One, null, JsonEnum.Three, (JsonEnum)(-7)]], null], + result.Reference.TestNullableEnumWithIntConverterCollectionCollection); + Assert.Equal([[null, [null, null]], null], result.Collection[0].TestNullableEnumWithIntConverterCollectionCollection); }); [ConditionalTheory] @@ -3254,10 +3495,10 @@ public virtual Task Add_and_update_nested_optional_primitive_collection(bool? va TestDateTimeOffsetCollection = [], TestDoubleCollection = [], TestDecimalCollection = [], - TestGuidCollection = [], + TestGuidCollection = new([]), TestInt16Collection = [], TestInt32Collection = [], - TestInt64Collection = [], + TestInt64Collection = new([]), TestSignedByteCollection = [], TestSingleCollection = [], TestTimeSpanCollection = [], @@ -3269,13 +3510,24 @@ public virtual Task Add_and_update_nested_optional_primitive_collection(bool? va TestEnumWithIntConverterCollection = [], TestNullableEnumCollection = [], TestNullableEnumWithIntConverterCollection = [], - TestNullableEnumWithConverterThatHandlesNullsCollection = Array.Empty(), + TestDefaultStringCollectionCollection = [], + TestMaxLengthStringCollectionCollection = [], + TestBooleanCollectionCollection = [], + TestCharacterCollectionCollection = [], + TestDoubleCollectionCollection = [], + TestInt16CollectionCollection = [], + TestInt32CollectionCollection = [], + TestInt64CollectionCollection = [], + TestSingleCollectionCollection = [], + TestNullableInt32CollectionCollection = [], + TestNullableEnumCollectionCollection = [], + TestNullableEnumWithIntConverterCollectionCollection = [], Collection = [ new() { TestDefaultStringCollection = [], - TestMaxLengthStringCollection = [], + TestMaxLengthStringCollection = new([]), TestBooleanCollection = [], TestDateTimeCollection = [], TestDateTimeOffsetCollection = [], diff --git a/test/EFCore.Specification.Tests/JsonTypesTestBase.cs b/test/EFCore.Specification.Tests/JsonTypesTestBase.cs index 3aaa314d8b3..7b29f158c75 100644 --- a/test/EFCore.Specification.Tests/JsonTypesTestBase.cs +++ b/test/EFCore.Specification.Tests/JsonTypesTestBase.cs @@ -258,8 +258,8 @@ protected class CharacterType [InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}""")] [InlineData("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF", """{"Prop":"ffffffff-ffff-ffff-ffff-ffffffffffff"}""")] [InlineData("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD", """{"Prop":"8c44242f-8e3f-4a20-8be8-98c7c1aadebd"}""")] - public virtual Task Can_read_write_GUID_JSON_values(Guid value, string json) - => Can_read_and_write_JSON_value(nameof(GuidType.Guid), value, json); + public virtual Task Can_read_write_GUID_JSON_values(string value, string json) + => Can_read_and_write_JSON_value(nameof(GuidType.Guid), new Guid(value), json); protected class GuidType { @@ -1748,7 +1748,7 @@ protected class Int8CollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_short_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(Int16CollectionType.Int16), [ short.MinValue, @@ -1760,24 +1760,24 @@ public virtual Task Can_read_write_collection_of_short_JSON_values() protected class Int16CollectionType { - public IList Int16 { get; set; } = null!; + public IReadOnlyCollection Int16 { get; set; } = null!; } [ConditionalFact] public virtual Task Can_read_write_collection_of_int_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(Int32CollectionType.Int32), - [ + new ReadOnlyCollection([ int.MinValue, 0, int.MaxValue - ], + ]), """{"Prop":[-2147483648,0,2147483647]}""", mappedCollection: true); protected class Int32CollectionType { - public List Int32 { get; set; } = null!; + public ReadOnlyCollection Int32 { get; set; } = null!; } [ConditionalFact] @@ -1900,8 +1900,9 @@ protected class DoubleCollectionType public double[] Double { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_decimal_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""")] + public virtual Task Can_read_write_collection_of_decimal_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(DecimalCollectionType.Decimal), [ @@ -1909,7 +1910,7 @@ public virtual Task Can_read_write_collection_of_decimal_JSON_values() 0, decimal.MaxValue ], - """{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""", + expected, mappedCollection: true); protected class DecimalCollectionType @@ -1936,7 +1937,7 @@ protected class DateOnlyCollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_TimeOnly_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(TimeOnlyCollectionType.TimeOnly), [ TimeOnly.MinValue, @@ -1949,11 +1950,12 @@ public virtual Task Can_read_write_collection_of_TimeOnly_JSON_values() protected class TimeOnlyCollectionType { - public IList TimeOnly { get; set; } = null!; + public IReadOnlyCollection TimeOnly { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_DateTime_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["0001-01-01T00:00:00","2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""")] + public virtual Task Can_read_write_collection_of_DateTime_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(DateTimeCollectionType.DateTime), [ @@ -1961,7 +1963,7 @@ public virtual Task Can_read_write_collection_of_DateTime_JSON_values() new(2023, 5, 29, 10, 52, 47), DateTime.MaxValue ], - """{"Prop":["0001-01-01T00:00:00","2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""", + expected, mappedCollection: true); protected class DateTimeCollectionType @@ -1969,8 +1971,9 @@ protected class DateTimeCollectionType public IList DateTime { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_DateTimeOffset_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["0001-01-01T00:00:00+00:00","2023-05-29T10:52:47-02:00","2023-05-29T10:52:47+00:00","2023-05-29T10:52:47+02:00","9999-12-31T23:59:59.9999999+00:00"]}""")] + public virtual Task Can_read_write_collection_of_DateTimeOffset_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(DateTimeOffsetCollectionType.DateTimeOffset), [ @@ -1980,7 +1983,7 @@ public virtual Task Can_read_write_collection_of_DateTimeOffset_JSON_values() new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(2, 0, 0)), DateTimeOffset.MaxValue ], - """{"Prop":["0001-01-01T00:00:00+00:00","2023-05-29T10:52:47-02:00","2023-05-29T10:52:47+00:00","2023-05-29T10:52:47+02:00","9999-12-31T23:59:59.9999999+00:00"]}""", + expected, mappedCollection: true); protected class DateTimeOffsetCollectionType @@ -2035,8 +2038,9 @@ protected class CharacterCollectionType public IList Character { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_GUID_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd","ffffffff-ffff-ffff-ffff-ffffffffffff"]}""")] + public virtual Task Can_read_write_collection_of_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(GuidCollectionType.Guid), [ @@ -2044,7 +2048,7 @@ public virtual Task Can_read_write_collection_of_GUID_JSON_values() new("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"), Guid.Parse("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") ], - """{"Prop":["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd","ffffffff-ffff-ffff-ffff-ffffffffffff"]}""", + expected, mappedCollection: true); protected class GuidCollectionType @@ -2054,7 +2058,7 @@ protected class GuidCollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_string_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(StringCollectionType.String), [ "MinValue", @@ -2066,11 +2070,12 @@ public virtual Task Can_read_write_collection_of_string_JSON_values() protected class StringCollectionType { - public IList String { get; set; } = null!; + public IReadOnlyCollection String { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_binary_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["AAAAAQ==","/////w==","","AQIDBA=="]}""")] + public virtual Task Can_read_write_collection_of_binary_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(BytesCollectionType.Bytes), [ @@ -2079,7 +2084,7 @@ public virtual Task Can_read_write_collection_of_binary_JSON_values() [], [1, 2, 3, 4] ], - """{"Prop":["AAAAAQ==","/////w==","","AQIDBA=="]}""", + expected, mappedCollection: true); protected class BytesCollectionType @@ -2105,9 +2110,9 @@ protected class UriCollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_IP_address_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(IpAddressCollectionType.IpAddress), - [ + new ReadOnlyCollection([ IPAddress.Parse("127.0.0.1"), IPAddress.Parse("0.0.0.0"), IPAddress.Parse("255.255.255.255"), @@ -2115,13 +2120,13 @@ public virtual Task Can_read_write_collection_of_IP_address_JSON_values() IPAddress.Parse("::1"), IPAddress.Parse("::"), IPAddress.Parse("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577") - ], + ]), """{"Prop":["127.0.0.1","0.0.0.0","255.255.255.255","192.168.1.156","::1","::","2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"]}""", mappedCollection: true); protected class IpAddressCollectionType { - public List IpAddress { get; set; } = null!; + public ReadOnlyCollection IpAddress { get; set; } = null!; } [ConditionalFact] @@ -2315,7 +2320,7 @@ protected class NullableInt8CollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_nullable_short_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(NullableInt16CollectionType.Int16), [ short.MinValue, @@ -2328,7 +2333,7 @@ public virtual Task Can_read_write_collection_of_nullable_short_JSON_values() protected class NullableInt16CollectionType { - public IList Int16 { get; set; } = null!; + public IReadOnlyCollection Int16 { get; set; } = null!; } [ConditionalFact] @@ -2351,20 +2356,21 @@ protected class NullableInt32CollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_nullable_long_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(NullableInt64CollectionType.Int64), + new ReadOnlyCollection( [ long.MinValue, 0, long.MaxValue, null - ], + ]), """{"Prop":[-9223372036854775808,0,9223372036854775807,null]}""", mappedCollection: true); protected class NullableInt64CollectionType { - public IList Int64 { get; set; } = null!; + public ReadOnlyCollection Int64 { get; set; } = null!; } [ConditionalFact] @@ -2475,8 +2481,9 @@ protected class NullableDoubleCollectionType public double?[] Double { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_nullable_decimal_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":[-79228162514264337593543950335,0,null,79228162514264337593543950335]}""")] + public virtual Task Can_read_write_collection_of_nullable_decimal_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableDecimalCollectionType.Decimal), [ @@ -2485,7 +2492,7 @@ public virtual Task Can_read_write_collection_of_nullable_decimal_JSON_values() null, decimal.MaxValue ], - """{"Prop":[-79228162514264337593543950335,0,null,79228162514264337593543950335]}""", + expected, mappedCollection: true); protected class NullableDecimalCollectionType @@ -2526,11 +2533,12 @@ public virtual Task Can_read_write_collection_of_nullable_TimeOnly_JSON_values() protected class NullableTimeOnlyCollectionType { - public IList TimeOnly { get; set; } = null!; + public IReadOnlyList TimeOnly { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_nullable_DateTime_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["0001-01-01T00:00:00",null,"2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""")] + public virtual Task Can_read_write_collection_of_nullable_DateTime_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableDateTimeCollectionType.DateTime), [ @@ -2539,7 +2547,7 @@ public virtual Task Can_read_write_collection_of_nullable_DateTime_JSON_values() new(2023, 5, 29, 10, 52, 47), DateTime.MaxValue ], - """{"Prop":["0001-01-01T00:00:00",null,"2023-05-29T10:52:47","9999-12-31T23:59:59.9999999"]}""", + expected, mappedCollection: true); protected class NullableDateTimeCollectionType @@ -2547,8 +2555,9 @@ protected class NullableDateTimeCollectionType public IList DateTime { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["0001-01-01T00:00:00+00:00","2023-05-29T10:52:47-02:00","2023-05-29T10:52:47+00:00",null,"2023-05-29T10:52:47+02:00","9999-12-31T23:59:59.9999999+00:00"]}""")] + public virtual Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableDateTimeOffsetCollectionType.DateTimeOffset), [ @@ -2559,12 +2568,12 @@ public virtual Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_va new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(2, 0, 0)), DateTimeOffset.MaxValue ], - """{"Prop":["0001-01-01T00:00:00+00:00","2023-05-29T10:52:47-02:00","2023-05-29T10:52:47+00:00",null,"2023-05-29T10:52:47+02:00","9999-12-31T23:59:59.9999999+00:00"]}""", + expected, mappedCollection: true); protected class NullableDateTimeOffsetCollectionType { - public IList DateTimeOffset { get; set; } = null!; + public IReadOnlyList DateTimeOffset { get; set; } = null!; } [ConditionalFact] @@ -2587,19 +2596,20 @@ protected class NullableTimeSpanCollectionType [ConditionalFact] public virtual Task Can_read_write_collection_of_nullable_bool_JSON_values() - => Can_read_and_write_JSON_value>( + => Can_read_and_write_JSON_value>( nameof(NullableBooleanCollectionType.Boolean), + new ReadOnlyCollection( [ false, null, true - ], + ]), """{"Prop":[false,null,true]}""", mappedCollection: true); protected class NullableBooleanCollectionType { - public IList Boolean { get; set; } = null!; + public ReadOnlyCollection Boolean { get; set; } = null!; } [ConditionalFact] @@ -2620,8 +2630,9 @@ protected class NullableCharacterCollectionType public IList Character { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_nullable_GUID_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["00000000-0000-0000-0000-000000000000",null,"8c44242f-8e3f-4a20-8be8-98c7c1aadebd","ffffffff-ffff-ffff-ffff-ffffffffffff"]}""")] + public virtual Task Can_read_write_collection_of_nullable_GUID_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableGuidCollectionType.Guid), [ @@ -2630,7 +2641,7 @@ public virtual Task Can_read_write_collection_of_nullable_GUID_JSON_values() new("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"), Guid.Parse("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") ], - """{"Prop":["00000000-0000-0000-0000-000000000000",null,"8c44242f-8e3f-4a20-8be8-98c7c1aadebd","ffffffff-ffff-ffff-ffff-ffffffffffff"]}""", + expected, mappedCollection: true); protected class NullableGuidCollectionType @@ -2656,8 +2667,9 @@ protected class NullableStringCollectionType public IList String { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_nullable_binary_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["AAAAAQ==",null,"/////w==","","AQIDBA=="]}""")] + public virtual Task Can_read_write_collection_of_nullable_binary_JSON_values(string expected) => Can_read_and_write_JSON_value>( nameof(NullableBytesCollectionType.Bytes), [ @@ -2667,7 +2679,7 @@ public virtual Task Can_read_write_collection_of_nullable_binary_JSON_values() [], [1, 2, 3, 4] ], - """{"Prop":["AAAAAQ==",null,"/////w==","","AQIDBA=="]}""", + expected, mappedCollection: true); protected class NullableBytesCollectionType @@ -3377,8 +3389,9 @@ protected class BinaryAsJsonType public byte[] BinaryAsJson { get; set; } = null!; } - [ConditionalFact] - public virtual Task Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""")] + public virtual Task Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values(string expected) => Can_read_and_write_JSON_collection_value>( b => b.ElementType().HasPrecision(12, 6), nameof(DecimalCollectionType.Decimal), @@ -3387,11 +3400,12 @@ public virtual Task Can_read_write_collection_of_decimal_with_precision_and_scal 0, decimal.MaxValue ], - """{"Prop":[-79228162514264337593543950335,0,79228162514264337593543950335]}""", + expected, facets: new Dictionary { { CoreAnnotationNames.Precision, 12 }, { CoreAnnotationNames.Scale, 6 } }); - [ConditionalFact] - public virtual Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values() + [ConditionalTheory] + [InlineData("""{"Prop":["AAAAAAAAAAAAAAAAAAAAAA==","LyREjD+OIEqL6JjHwarevQ==","/////////////////////w=="]}""")] + public virtual Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values(string expected) => Can_read_and_write_JSON_collection_value>( b => b.ElementType().HasConversion(), nameof(GuidCollectionType.Guid), @@ -3400,9 +3414,431 @@ public virtual Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_va new("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"), Guid.Parse("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") ], - """{"Prop":["AAAAAAAAAAAAAAAAAAAAAA==","LyREjD+OIEqL6JjHwarevQ==","/////////////////////w=="]}""", + expected, facets: new Dictionary { { CoreAnnotationNames.ProviderClrType, typeof(byte[]) } }); + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_int_JSON_values() + => Can_read_and_write_JSON_value>( + nameof(Int32ArrayListType.Prop), + new List + { + new[] { int.MinValue, 0, int.MaxValue }, + Array.Empty(), + null, + new[] { 77 } + }, + """{"Prop":[[-2147483648,0,2147483647],[],null,[77]]}""", + mappedCollection: true); + + protected class Int32ArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_nullable_int_JSON_values() + => Can_read_and_write_JSON_value>( + nameof(NullableInt32ArrayListType.Prop), + new List + { + new int?[] { int.MinValue, null, int.MaxValue }, + Array.Empty(), + null, + new int?[] { 77 } + }, + """{"Prop":[[-2147483648,null,2147483647],[],null,[77]]}""", + mappedCollection: true); + + protected class NullableInt32ArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_string_JSON_values() + => Can_read_and_write_JSON_value>( + nameof(StringArrayListType.Prop), + new List + { + new[] { "X", "Y", "" }, + Array.Empty(), + new[] { "77" } + }, + """{"Prop":[["X","Y",""],[],["77"]]}""", + mappedCollection: true); + + protected class StringArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_IPAddress_JSON_values() + => Can_read_and_write_JSON_value>( + nameof(IpAddressArrayListType.Prop), + new ObservableCollection + { + new[] { IPAddress.Parse("127.0.0.1"), IPAddress.Parse("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577") }, + Array.Empty(), + new[] { new IPAddress(0) } + }, + """{"Prop":[["127.0.0.1","2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"],[],["0.0.0.0"]]}""", + mappedCollection: true); + + protected class IpAddressArrayListType + { + public ObservableCollection Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_ulong_JSON_values() + => Can_read_and_write_JSON_value>( + nameof(ULongArrayListType.Prop), + new List + { + new[] { ulong.MinValue, 1UL, ulong.MaxValue }, + Array.Empty(), + new[] { 77UL } + }, + """{"Prop":[[0,1,18446744073709551615],[],[77]]}""", + mappedCollection: true); + + protected class ULongArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_nullable_ulong_JSON_values() + => Can_read_and_write_JSON_value>( + nameof(NullableULongArrayListType.Prop), + new List + { + new ulong?[] { ulong.MinValue, null, ulong.MaxValue }, + Array.Empty(), + new ulong?[] { 77UL } + }, + """{"Prop":[[0,null,18446744073709551615],[],[77]]}""", + mappedCollection: true); + + protected class NullableULongArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalTheory] + [InlineData("""{"Prop":[["AAEC","AQ==","TQ=="],[],["Tg=="]]}""")] + public virtual Task Can_read_write_list_of_array_of_binary_JSON_values(string expected) + => Can_read_and_write_JSON_value>( + nameof(BinaryArrayListType.Prop), + new List + { + new[] { new byte[] { 0, 1, 2 }, [1], [77] }, + Array.Empty(), + new[] { new byte[] { 78 } } + }, + expected, + mappedCollection: true); + + protected class BinaryArrayListType + { + public IEnumerable Prop { get; set; } = null!; + } + + [ConditionalTheory] + [InlineData("""{"Prop":[["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd"],[],["ffffffff-ffff-ffff-ffff-ffffffffffff"]]}""")] + public virtual Task Can_read_write_list_of_array_of_GUID_JSON_values(string expected) + => Can_read_and_write_JSON_value>( + nameof(GuidArrayListType.Prop), + new List + { + new[] { new Guid("00000000-0000-0000-0000-000000000000"), new Guid("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD") }, + Array.Empty(), + new[] { new Guid("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") } + }, + expected, + mappedCollection: true); + + protected class GuidArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalTheory] + [InlineData("""{"Prop":[["00000000-0000-0000-0000-000000000000",null,"8c44242f-8e3f-4a20-8be8-98c7c1aadebd"],[],["ffffffff-ffff-ffff-ffff-ffffffffffff"]]}""")] + public virtual Task Can_read_write_list_of_array_of_nullable_GUID_JSON_values(string expected) + => Can_read_and_write_JSON_value>( + nameof(NullableGuidArrayListType.Prop), + new List + { + new Guid?[] { new Guid("00000000-0000-0000-0000-000000000000"), null, new Guid("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD") }, + Array.Empty(), + new Guid?[] { new Guid("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") } + }, + expected, + mappedCollection: true); + + protected class NullableGuidArrayListType + { + public List Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_array_of_list_of_int_JSON_values() + => Can_read_and_write_JSON_value[]>( + nameof(Int32ListArrayType.Prop), + new List[] + { + new() { int.MinValue, 0, int.MaxValue }, + new(), + new() { 77 } + }, + """{"Prop":[[-2147483648,0,2147483647],[],[77]]}""", + mappedCollection: true); + + protected class Int32ListArrayType + { + public IList[] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_array_of_list_of_string_JSON_values() + => Can_read_and_write_JSON_value[]>( + nameof(StringListArrayType.Prop), + new List[] + { + new() { "X", "Y", "" }, + new(), + new() { "77" } + }, + """{"Prop":[["X","Y",""],[],["77"]]}""", + mappedCollection: true); + + protected class StringListArrayType + { + public List[] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_array_of_list_of_IPAddress_JSON_values() + => Can_read_and_write_JSON_value[]>( + nameof(IpAddressListArrayType.Prop), + new Collection[] + { + new() { IPAddress.Parse("127.0.0.1"), IPAddress.Parse("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577") }, + new(), + new() { new IPAddress(0) } + }, + """{"Prop":[["127.0.0.1","2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"],[],["0.0.0.0"]]}""", + mappedCollection: true); + + protected class IpAddressListArrayType + { + public Collection[] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_array_of_list_of_ulong_JSON_values() + => Can_read_and_write_JSON_value[]>( + nameof(ULongListArrayType.Prop), + new List[] + { + new() { ulong.MinValue, 1UL, ulong.MaxValue }, + new(), + new() { 77UL } + }, + """{"Prop":[[0,1,18446744073709551615],[],[77]]}""", + mappedCollection: true); + + protected class ULongListArrayType + { + public List[] Prop { get; set; } = null!; + } + + [ConditionalTheory] + [InlineData("""{"Prop":[["AAEC","AQ==","TQ=="],[],["Tg=="]]}""")] + public virtual Task Can_read_write_array_of_list_of_binary_JSON_values(string expected) + => Can_read_and_write_JSON_value[]>( + nameof(BinaryListArrayType.Prop), + new List[] + { + new() { new byte[] { 0, 1, 2 }, new byte[] { 1 }, new byte[] { 77 } }, + new(), + new() { new byte[] { 78 } } + }, + expected, + mappedCollection: true); + + protected class BinaryListArrayType + { + public List[] Prop { get; set; } = null!; + } + + [ConditionalTheory] + [InlineData("""{"Prop":[["00000000-0000-0000-0000-000000000000","8c44242f-8e3f-4a20-8be8-98c7c1aadebd"],[],["ffffffff-ffff-ffff-ffff-ffffffffffff"]]}""")] + public virtual Task Can_read_write_array_of_list_of_GUID_JSON_values(string expected) + => Can_read_and_write_JSON_value[]>( + nameof(GuidListArrayType.Prop), + new List[] + { + new() { new Guid("00000000-0000-0000-0000-000000000000"), new Guid("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD") }, + new(), + new() { new Guid("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") } + }, + expected, + mappedCollection: true); + + protected class GuidListArrayType + { + public ICollection[] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_list_of_list_of_int_JSON_values() + => Can_read_and_write_JSON_value>>>( + nameof(Int32ListListListType.Prop), + new List>> + { + new() { new () { int.MinValue, 0, int.MaxValue }, new() { 77 } }, + new(), + new() { new () { 1, 2 }, new(), new() { 78, 79 } } + }, + """{"Prop":[[[-2147483648,0,2147483647],[77]],[],[[1,2],[],[78,79]]]}""", + mappedCollection: true); + + protected class Int32ListListListType + { + public List>> Prop { get; set; } = null!; + } + + + [ConditionalFact] + public virtual Task Can_read_write_array_of_array_of_array_of_int_JSON_values() + => Can_read_and_write_JSON_value( + nameof(Int32ArrayArrayArrayType.Prop), + [ + [[int.MinValue, 0, int.MaxValue], [77]], + [], + [[1, 2], Array.Empty(), [78, 79]] + ], + """{"Prop":[[[-2147483648,0,2147483647],[77]],[],[[1,2],[],[78,79]]]}""", + mappedCollection: true); + + protected class Int32ArrayArrayArrayType + { + public int[][][] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_list_of_string_JSON_values() + => Can_read_and_write_JSON_value[]>>( + nameof(StringListArrayListType.Prop), + new List[]> + { + new List[] { new () { "int.MinValue", "", "int.MaxValue" }, new() { "77" } }, + Array.Empty>(), + new List[] { new () { "1", "2" }, new(), new() { "78", "79" } } + }, + """{"Prop":[[["int.MinValue","","int.MaxValue"],["77"]],[],[["1","2"],[],["78","79"]]]}""", + mappedCollection: true); + + protected class StringListArrayListType + { + public List[]> Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_array_of_list_of_array_of_string_JSON_values() + => Can_read_and_write_JSON_value[]>( + nameof(StringArrayListArrayType.Prop), + new List[] + { + new() { new[] { "int.MinValue", "", "int.MaxValue" }, new[] { "77" } }, + new(), + new() { new[] { "1", "2" }, Array.Empty(), new[] { "78", "79" } } + }, + """{"Prop":[[["int.MinValue","","int.MaxValue"],["77"]],[],[["1","2"],[],["78","79"]]]}""", + mappedCollection: true); + + protected class StringArrayListArrayType + { + public List[] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_array_of_list_of_array_of_IPAddress_JSON_values() + => Can_read_and_write_JSON_value[]>( + nameof(IpAddressArrayListArrayType.Prop), + new List[] + { + new() { new[] { IPAddress.Parse("127.0.0.1"), IPAddress.Parse("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577") } }, + new(), + new() { new[] { new IPAddress(0) } } + }, + """{"Prop":[[["127.0.0.1","2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"]],[],[["0.0.0.0"]]]}""", + mappedCollection: true); + + protected class IpAddressArrayListArrayType + { + public List[] Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_list_of_IPAddress_JSON_values() + => Can_read_and_write_JSON_value[]>>( + nameof(IpAddressListArrayListType.Prop), + new List[]> + { + new List[] { new() { IPAddress.Parse("127.0.0.1"), IPAddress.Parse("2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577") } }, + Array.Empty>(), + new List[] { new() { new IPAddress(0) } } + }, + """{"Prop":[[["127.0.0.1","2a00:23c7:c60f:4f01:ba43:6d5a:e648:7577"]],[],[["0.0.0.0"]]]}""", + mappedCollection: true); + + protected class IpAddressListArrayListType + { + public List[]> Prop { get; set; } = null!; + } + + [ConditionalFact] + public virtual Task Can_read_write_list_of_array_of_list_of_ulong_JSON_values() + => Can_read_and_write_JSON_value>>( + nameof(ULongListArrayListType.Prop), + new List> + { + new() { new[] { ulong.MinValue, 1UL, ulong.MaxValue } }, + new(), + new() { new[] { 77UL } } + }, + """{"Prop":[[[0,1,18446744073709551615]],[],[[77]]]}""", + mappedCollection: true); + + protected class ULongListArrayListType + { + public List> Prop { get; set; } = null!; + } + + [ConditionalTheory] + [InlineData("""{"Prop":[[[["AAEC","AQ==","TQ=="]],[],[[],[]]],[],[[[]],[["AAEC","AQ==","TQ=="]]]]}""")] + public virtual Task Can_read_write_list_of_array_of_list_of_array_of_binary_JSON_values(string expected) + => Can_read_and_write_JSON_value[]>>( + nameof(BinaryListArrayArrayListType.Prop), + new List[]> + { + new List[] { new() { new byte[][] { new byte[] { 0, 1, 2 }, [1], [77] } }, new(), new() { new byte[][] { }, Array.Empty() } }, + Array.Empty>(), + new List[] { new() { new byte[][] { } }, new() { new byte[][] { new byte[] { 0, 1, 2 }, [1], [77] } } }, + }, + expected, + mappedCollection: true); + + protected class BinaryListArrayArrayListType + { + public List[]> Prop { get; set; } = null!; + } + protected virtual async Task Can_read_and_write_JSON_value( string propertyName, TModel value, @@ -3521,7 +3957,6 @@ protected virtual async Task Can_read_and_write_JSON_value( Assert.Equal(typeof(TModel).GetSequenceType(), element.ClrType); Assert.Same(property, element.CollectionProperty); - Assert.Null(element.FindTypeMapping()!.ElementTypeMapping); bool elementNullable; if (element.ClrType.IsValueType) diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs index 04fa6a0d0aa..0cfd9b9ad97 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.ComplexType.cs @@ -499,6 +499,9 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels( [ConditionalFact] public virtual void Properties_can_have_provider_type_set() + => Properties_can_have_provider_type_set(); + + protected virtual void Properties_can_have_provider_type_set() { var modelBuilder = CreateModelBuilder(); @@ -529,7 +532,7 @@ public virtual void Properties_can_have_provider_type_set() var down = complexType.FindProperty("Down"); Assert.Same(typeof(byte[]), down.GetProviderClrType()); Assert.True(down.GetValueComparer().IsDefault()); - Assert.IsType>(down.GetProviderValueComparer()); + Assert.True(down.GetProviderValueComparer() is ValueComparer); var charm = complexType.FindProperty("Charm"); Assert.Same(typeof(long), charm.GetProviderClrType()); @@ -544,7 +547,7 @@ public virtual void Properties_can_have_provider_type_set() var top = complexType.FindProperty("Top"); Assert.Same(typeof(string), top.GetProviderClrType()); Assert.IsType>(top.GetValueComparer()); - Assert.IsType>(top.GetProviderValueComparer()); + Assert.True(top.GetProviderValueComparer() is ValueComparer); } [ConditionalFact] @@ -569,14 +572,17 @@ public virtual void Properties_can_have_provider_type_set_for_type() var model = modelBuilder.FinalizeModel(); var complexType = model.FindEntityType(typeof(ComplexProperties)).GetComplexProperties().Single().ComplexType; - Assert.Null(complexType.FindProperty("Up").GetProviderClrType()); - Assert.Same(typeof(byte[]), complexType.FindProperty("Down").GetProviderClrType()); - Assert.Null(complexType.FindProperty("Charm").GetProviderClrType()); - Assert.Same(typeof(byte[]), complexType.FindProperty("Strange").GetProviderClrType()); + Assert.Null(complexType.FindProperty("Up")!.GetProviderClrType()); + Assert.Same(typeof(byte[]), complexType.FindProperty("Down")!.GetProviderClrType()); + Assert.Null(complexType.FindProperty("Charm")!.GetProviderClrType()); + Assert.Same(typeof(byte[]), complexType.FindProperty("Strange")!.GetProviderClrType()); } [ConditionalFact] public virtual void Properties_can_have_non_generic_value_converter_set() + => Properties_can_have_non_generic_value_converter_set(); + + protected virtual void Properties_can_have_non_generic_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -606,7 +612,7 @@ public virtual void Properties_can_have_non_generic_value_converter_set() var down = complexType.FindProperty("Down"); Assert.Same(stringConverter, down.GetValueConverter()); Assert.True(down.GetValueComparer().IsDefault()); - Assert.IsType>(down.GetProviderValueComparer()); + Assert.True(down.GetProviderValueComparer() is ValueComparer); var charm = complexType.FindProperty("Charm"); Assert.Same(intConverter, charm.GetValueConverter()); @@ -618,6 +624,9 @@ public virtual void Properties_can_have_non_generic_value_converter_set() [ConditionalFact] public virtual void Properties_can_have_custom_type_value_converter_type_set() + => Properties_can_have_custom_type_value_converter_type_set(); + + protected virtual void Properties_can_have_custom_type_value_converter_type_set() { var modelBuilder = CreateModelBuilder(); @@ -631,7 +640,7 @@ public virtual void Properties_can_have_custom_type_value_converter_type_set() { b.Property(e => e.Up).HasConversion>(); b.Property(e => e.Down) - .HasConversion, CustomValueComparer>(); + .HasConversion, CustomValueComparer>(); b.Property("Charm").HasConversion, CustomValueComparer>(); b.Property("Strange").HasConversion>(); b.Property("Strange").HasConversion(null, null); @@ -649,7 +658,7 @@ public virtual void Properties_can_have_custom_type_value_converter_type_set() var down = complexType.FindProperty("Down"); Assert.IsType(down.GetValueConverter()); Assert.IsType>(down.GetValueComparer()); - Assert.IsType>(down.GetProviderValueComparer()); + Assert.True(down.GetProviderValueComparer() is ValueComparer); var charm = complexType.FindProperty("Charm"); Assert.IsType>(charm.GetValueConverter()); @@ -662,7 +671,7 @@ public virtual void Properties_can_have_custom_type_value_converter_type_set() Assert.True(strange.GetProviderValueComparer().IsDefault()); } - private class UTF8StringToBytesConverter : StringToBytesConverter + protected class UTF8StringToBytesConverter : StringToBytesConverter { public UTF8StringToBytesConverter() : base(Encoding.UTF8) @@ -670,7 +679,7 @@ public UTF8StringToBytesConverter() } } - private class CustomValueComparer : ValueComparer + protected class CustomValueComparer : ValueComparer { public CustomValueComparer() : base(false) diff --git a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs index 49537e75038..20c2e169235 100644 --- a/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs +++ b/test/EFCore.Specification.Tests/ModelBuilding/ModelBuilderTest.NonRelationship.cs @@ -6,6 +6,7 @@ using System.ComponentModel; using System.Dynamic; using Microsoft.EntityFrameworkCore.Metadata.Internal; +using Microsoft.EntityFrameworkCore.Scaffolding; using Microsoft.EntityFrameworkCore.TestUtilities.Xunit; // ReSharper disable InconsistentNaming @@ -812,6 +813,9 @@ public virtual void Access_mode_can_be_overridden_at_entity_and_property_levels( [ConditionalFact] public virtual void Properties_can_have_provider_type_set() + => Properties_can_have_provider_type_set(); + + protected virtual void Properties_can_have_provider_type_set() { var modelBuilder = CreateModelBuilder(); @@ -822,7 +826,7 @@ public virtual void Properties_can_have_provider_type_set() b.Property(e => e.Down).HasConversion(); b.Property("Charm").HasConversion>(); b.Property("Strange").HasConversion( - new CustomValueComparer(), new CustomValueComparer()); + new CustomValueComparer(), new CustomValueComparer()); b.Property("Strange").HasConversion(null); b.Property("Top").HasConversion(new CustomValueComparer()); }); @@ -837,7 +841,7 @@ public virtual void Properties_can_have_provider_type_set() var down = entityType.FindProperty("Down")!; Assert.Same(typeof(byte[]), down.GetProviderClrType()); Assert.True(down.GetValueComparer()?.IsDefault()); - Assert.IsType>(down.GetProviderValueComparer()); + Assert.True(down.GetProviderValueComparer() is ValueComparer); var charm = entityType.FindProperty("Charm")!; Assert.Same(typeof(long), charm.GetProviderClrType()); @@ -880,6 +884,9 @@ public virtual void Properties_can_have_provider_type_set_for_type() [ConditionalFact] public virtual void Properties_can_have_non_generic_value_converter_set() + => Properties_can_have_non_generic_value_converter_set(); + + protected virtual void Properties_can_have_non_generic_value_converter_set() { var modelBuilder = CreateModelBuilder(); @@ -904,7 +911,7 @@ public virtual void Properties_can_have_non_generic_value_converter_set() var down = entityType.FindProperty("Down")!; Assert.Same(stringConverter, down.GetValueConverter()); Assert.True(down.GetValueComparer()?.IsDefault()); - Assert.IsType>(down.GetProviderValueComparer()); + Assert.True(down.GetProviderValueComparer() is ValueComparer); var charm = entityType.FindProperty("Charm")!; Assert.Same(intConverter, charm.GetValueConverter()); @@ -916,6 +923,9 @@ public virtual void Properties_can_have_non_generic_value_converter_set() [ConditionalFact] public virtual void Properties_can_have_custom_type_value_converter_type_set() + => Properties_can_have_custom_type_value_converter_type_set(); + + protected virtual void Properties_can_have_custom_type_value_converter_type_set() { var modelBuilder = CreateModelBuilder(); @@ -924,7 +934,7 @@ public virtual void Properties_can_have_custom_type_value_converter_type_set() { b.Property(e => e.Up).HasConversion>(); b.Property(e => e.Down) - .HasConversion, CustomValueComparer>(); + .HasConversion, CustomValueComparer>(); b.Property("Charm").HasConversion, CustomValueComparer>(); b.Property("Strange").HasConversion>(); b.Property("Strange").HasConversion(null, null); @@ -942,7 +952,7 @@ public virtual void Properties_can_have_custom_type_value_converter_type_set() var down = entityType.FindProperty("Down")!; Assert.IsType(down.GetValueConverter()); Assert.IsType>(down.GetValueComparer()); - Assert.IsType>(down.GetProviderValueComparer()); + Assert.True(down.GetProviderValueComparer() is ValueComparer); var charm = entityType.FindProperty("Charm")!; Assert.IsType>(charm.GetValueConverter()); @@ -955,7 +965,7 @@ public virtual void Properties_can_have_custom_type_value_converter_type_set() Assert.True(strange.GetProviderValueComparer()?.IsDefault()); } - private class UTF8StringToBytesConverter : StringToBytesConverter + protected class UTF8StringToBytesConverter : StringToBytesConverter { public UTF8StringToBytesConverter() : base(Encoding.UTF8) @@ -963,7 +973,7 @@ public UTF8StringToBytesConverter() } } - private class CustomValueComparer : ValueComparer + protected class CustomValueComparer : ValueComparer { public CustomValueComparer() : base(false) @@ -2856,6 +2866,21 @@ public virtual void Throws_for_primitive_collection_for_value_generator_that_can () => entityType.FindProperty("Down")!.GetValueGeneratorFactory()!(null!, null!)).Message); } + [ConditionalFact] + public virtual void Nested_primitive_collection_are_discovered_by_convention() + { + var modelBuilder = CreateModelBuilder(); + + modelBuilder.Ignore(); + modelBuilder.Entity(); + + var model = modelBuilder.FinalizeModel(); + + Assert.Empty( + model.FindEntityType(typeof(Gamma))!.GetProperties() + .Where(p => p.Name == "PrivateCollection")); + } + [ConditionalFact] protected virtual void Mapping_for_primitive_collection_ignores_ignored_array() { @@ -3035,7 +3060,6 @@ public virtual void Can_set_alternate_key_for_primitive_collection_on_an_entity_ Assert.NotNull(property.FieldInfo); Assert.NotNull(property.GetElementType()); var keys = entity.GetKeys(); - Assert.Equal(3, keys.Count()); Assert.Single(keys.Where(k => k.Properties.All(p => p == property))); } @@ -3049,8 +3073,7 @@ public virtual void Can_call_PrimitiveCollection_on_an_entity_with_fields() var model = modelBuilder.FinalizeModel(); var properties = model.FindEntityType(typeof(EntityWithFields))!.GetProperties(); - var property = Assert.Single(properties); - Assert.Equal(nameof(EntityWithFields.CollectionId), property.Name); + var property = properties.Single(e => e.Name == nameof(EntityWithFields.CollectionId)); Assert.Null(property.PropertyInfo); Assert.NotNull(property.FieldInfo); Assert.NotNull(property.GetElementType()); @@ -3111,11 +3134,8 @@ public virtual void Element_types_can_be_made_required() b.PrimitiveCollection(e => e.Up).ElementType().IsRequired(); b.PrimitiveCollection(e => e.Down).ElementType().IsRequired(false); b.PrimitiveCollection>("Charm").ElementType().IsRequired(); - ; b.PrimitiveCollection>("Strange").ElementType().IsRequired(); - ; - b.PrimitiveCollection>("Stranger").ElementType().IsRequired(); - ; // Still optional since no NRT metadata available + b.PrimitiveCollection>("Stranger").ElementType().IsRequired(); // Still optional since no NRT metadata available }); var entityType = modelBuilder.FinalizeModel().FindEntityType(typeof(CollectionQuarks))!; diff --git a/test/EFCore.Specification.Tests/Query/NonSharedPrimitiveCollectionsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/NonSharedPrimitiveCollectionsQueryTestBase.cs index 6357dfe2c77..80f63e43914 100644 --- a/test/EFCore.Specification.Tests/Query/NonSharedPrimitiveCollectionsQueryTestBase.cs +++ b/test/EFCore.Specification.Tests/Query/NonSharedPrimitiveCollectionsQueryTestBase.cs @@ -95,13 +95,6 @@ public virtual Task Array_of_enum() private enum MyEnum { Label1, Label2 } - [ConditionalFact] - public virtual async Task Array_of_array_is_not_supported() - { - var exception = await Assert.ThrowsAsync(() => TestArray([1, 2, 3], new[] { 4, 5, 6 })); - Assert.Equal(CoreStrings.PropertyNotMapped("int[][]", "TestEntity", "SomeArray"), exception.Message); - } - [ConditionalFact] public virtual async Task Multidimensional_array_is_not_supported() { diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs index cb15995e287..efc4c26b779 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs @@ -2170,7 +2170,7 @@ public override async Task Json_all_types_entity_projection(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] """); } @@ -2203,7 +2203,7 @@ public override async Task Json_boolean_predicate(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestBoolean') AS bit) = CAST(1 AS bit) """); @@ -2215,7 +2215,7 @@ public override async Task Json_boolean_predicate_negated(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestBoolean') AS bit) = CAST(0 AS bit) """); @@ -2252,7 +2252,7 @@ public override async Task Json_predicate_on_default_string(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE JSON_VALUE([j].[Reference], '$.TestDefaultString') <> N'MyDefaultStringInReference1' OR JSON_VALUE([j].[Reference], '$.TestDefaultString') IS NULL """); @@ -2264,7 +2264,7 @@ public override async Task Json_predicate_on_max_length_string(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE JSON_VALUE([j].[Reference], '$.TestMaxLengthString') <> N'Foo' OR JSON_VALUE([j].[Reference], '$.TestMaxLengthString') IS NULL """); @@ -2276,7 +2276,7 @@ public override async Task Json_predicate_on_string_condition(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CASE WHEN CAST(JSON_VALUE([j].[Reference], '$.TestBoolean') AS bit) = CAST(0 AS bit) THEN JSON_VALUE([j].[Reference], '$.TestMaxLengthString') @@ -2291,7 +2291,7 @@ public override async Task Json_predicate_on_byte(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestByte') AS tinyint) <> CAST(3 AS tinyint) OR CAST(JSON_VALUE([j].[Reference], '$.TestByte') AS tinyint) IS NULL """); @@ -2303,7 +2303,7 @@ public override async Task Json_predicate_on_character(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE JSON_VALUE([j].[Reference], '$.TestCharacter') <> N'z' OR JSON_VALUE([j].[Reference], '$.TestCharacter') IS NULL """); @@ -2315,7 +2315,7 @@ public override async Task Json_predicate_on_datetime(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestDateTime') AS datetime2) <> '2000-01-03T00:00:00.0000000' OR CAST(JSON_VALUE([j].[Reference], '$.TestDateTime') AS datetime2) IS NULL """); @@ -2327,7 +2327,7 @@ public override async Task Json_predicate_on_datetimeoffset(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestDateTimeOffset') AS datetimeoffset) <> '2000-01-04T00:00:00.0000000+03:02' OR CAST(JSON_VALUE([j].[Reference], '$.TestDateTimeOffset') AS datetimeoffset) IS NULL """); @@ -2339,7 +2339,7 @@ public override async Task Json_predicate_on_decimal(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestDecimal') AS decimal(18,3)) <> 1.35 OR CAST(JSON_VALUE([j].[Reference], '$.TestDecimal') AS decimal(18,3)) IS NULL """); @@ -2351,7 +2351,7 @@ public override async Task Json_predicate_on_double(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestDouble') AS float) <> 33.25E0 OR CAST(JSON_VALUE([j].[Reference], '$.TestDouble') AS float) IS NULL """); @@ -2363,7 +2363,7 @@ public override async Task Json_predicate_on_enum(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestEnum') AS int) <> 2 OR CAST(JSON_VALUE([j].[Reference], '$.TestEnum') AS int) IS NULL """); @@ -2375,7 +2375,7 @@ public override async Task Json_predicate_on_enumwithintconverter(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestEnumWithIntConverter') AS int) <> -3 OR CAST(JSON_VALUE([j].[Reference], '$.TestEnumWithIntConverter') AS int) IS NULL """); @@ -2387,7 +2387,7 @@ public override async Task Json_predicate_on_guid(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestGuid') AS uniqueidentifier) <> '00000000-0000-0000-0000-000000000000' OR CAST(JSON_VALUE([j].[Reference], '$.TestGuid') AS uniqueidentifier) IS NULL """); @@ -2399,7 +2399,7 @@ public override async Task Json_predicate_on_int16(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestInt16') AS smallint) <> CAST(3 AS smallint) OR CAST(JSON_VALUE([j].[Reference], '$.TestInt16') AS smallint) IS NULL """); @@ -2411,7 +2411,7 @@ public override async Task Json_predicate_on_int32(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestInt32') AS int) <> 33 OR CAST(JSON_VALUE([j].[Reference], '$.TestInt32') AS int) IS NULL """); @@ -2423,7 +2423,7 @@ public override async Task Json_predicate_on_int64(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestInt64') AS bigint) <> CAST(333 AS bigint) OR CAST(JSON_VALUE([j].[Reference], '$.TestInt64') AS bigint) IS NULL """); @@ -2435,7 +2435,7 @@ public override async Task Json_predicate_on_nullableenum1(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestNullableEnum') AS int) <> -1 OR CAST(JSON_VALUE([j].[Reference], '$.TestNullableEnum') AS int) IS NULL """); @@ -2447,7 +2447,7 @@ public override async Task Json_predicate_on_nullableenum2(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestNullableEnum') AS int) IS NOT NULL """); @@ -2459,7 +2459,7 @@ public override async Task Json_predicate_on_nullableenumwithconverter1(bool asy AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestNullableEnumWithIntConverter') AS int) <> 2 OR CAST(JSON_VALUE([j].[Reference], '$.TestNullableEnumWithIntConverter') AS int) IS NULL """); @@ -2471,7 +2471,7 @@ public override async Task Json_predicate_on_nullableenumwithconverter2(bool asy AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestNullableEnumWithIntConverter') AS int) IS NOT NULL """); @@ -2483,7 +2483,7 @@ public override async Task Json_predicate_on_nullableenumwithconverterthathandle AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE JSON_VALUE([j].[Reference], '$.TestNullableEnumWithConverterThatHandlesNulls') <> N'One' OR JSON_VALUE([j].[Reference], '$.TestNullableEnumWithConverterThatHandlesNulls') IS NULL """); @@ -2505,7 +2505,7 @@ public override async Task Json_predicate_on_nullableint321(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestNullableInt32') AS int) <> 100 OR CAST(JSON_VALUE([j].[Reference], '$.TestNullableInt32') AS int) IS NULL """); @@ -2517,7 +2517,7 @@ public override async Task Json_predicate_on_nullableint322(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestNullableInt32') AS int) IS NOT NULL """); @@ -2529,7 +2529,7 @@ public override async Task Json_predicate_on_signedbyte(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestSignedByte') AS smallint) <> CAST(100 AS smallint) OR CAST(JSON_VALUE([j].[Reference], '$.TestSignedByte') AS smallint) IS NULL """); @@ -2541,7 +2541,7 @@ public override async Task Json_predicate_on_single(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestSingle') AS real) <> CAST(10.4 AS real) OR CAST(JSON_VALUE([j].[Reference], '$.TestSingle') AS real) IS NULL """); @@ -2553,7 +2553,7 @@ public override async Task Json_predicate_on_timespan(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestTimeSpan') AS time) <> '03:02:00' OR CAST(JSON_VALUE([j].[Reference], '$.TestTimeSpan') AS time) IS NULL """); @@ -2565,7 +2565,7 @@ public override async Task Json_predicate_on_dateonly(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestDateOnly') AS date) <> '0003-02-01' OR CAST(JSON_VALUE([j].[Reference], '$.TestDateOnly') AS date) IS NULL """); @@ -2577,7 +2577,7 @@ public override async Task Json_predicate_on_timeonly(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestTimeOnly') AS time) <> '03:02:00' OR CAST(JSON_VALUE([j].[Reference], '$.TestTimeOnly') AS time) IS NULL """); @@ -2589,7 +2589,7 @@ public override async Task Json_predicate_on_unisgnedint16(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestUnsignedInt16') AS int) <> 100 OR CAST(JSON_VALUE([j].[Reference], '$.TestUnsignedInt16') AS int) IS NULL """); @@ -2601,7 +2601,7 @@ public override async Task Json_predicate_on_unsignedint32(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestUnsignedInt32') AS bigint) <> CAST(1000 AS bigint) OR CAST(JSON_VALUE([j].[Reference], '$.TestUnsignedInt32') AS bigint) IS NULL """); @@ -2613,7 +2613,7 @@ public override async Task Json_predicate_on_unsignedint64(bool async) AssertSql( """ -SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE CAST(JSON_VALUE([j].[Reference], '$.TestUnsignedInt64') AS decimal(20,0)) <> 10000.0 OR CAST(JSON_VALUE([j].[Reference], '$.TestUnsignedInt64') AS decimal(20,0)) IS NULL """); diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NonSharedPrimitiveCollectionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NonSharedPrimitiveCollectionsQuerySqlServerTest.cs index a956cb2131e..fbaa5a4fd4d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NonSharedPrimitiveCollectionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NonSharedPrimitiveCollectionsQuerySqlServerTest.cs @@ -302,10 +302,6 @@ FROM OPENJSON([t].[SomeArray]) WITH ([value] int '$') AS [s] """); } - [ConditionalFact] - public override Task Array_of_array_is_not_supported() - => base.Array_of_array_is_not_supported(); - [ConditionalFact] public override Task Multidimensional_array_is_not_supported() => base.Multidimensional_array_is_not_supported(); diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs index 53f6f259ba8..eefe4504615 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs @@ -565,7 +565,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -589,7 +589,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -612,7 +612,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -636,7 +636,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -660,7 +660,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -684,7 +684,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -708,7 +708,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -732,7 +732,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -756,7 +756,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -780,7 +780,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -804,7 +804,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -828,7 +828,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -852,7 +852,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -876,7 +876,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -900,7 +900,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -924,7 +924,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -948,7 +948,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -972,7 +972,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -996,7 +996,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1020,7 +1020,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1044,7 +1044,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1068,7 +1068,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1092,7 +1092,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1116,7 +1116,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1140,7 +1140,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1164,7 +1164,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1188,7 +1188,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1200,8 +1200,8 @@ public override async Task Edit_two_properties_on_same_entity_updates_the_entire AssertSql( """ -@p0='{"TestBoolean":false,"TestBooleanCollection":[true,false],"TestByte":25,"TestByteCollection":null,"TestCharacter":"h","TestCharacterCollection":["A","B","\u0022"],"TestDateOnly":"2323-04-03","TestDateOnlyCollection":["3234-01-23","4331-01-21"],"TestDateTime":"2100-11-11T12:34:56","TestDateTimeCollection":["2000-01-01T12:34:56","3000-01-01T12:34:56"],"TestDateTimeOffset":"2200-11-11T12:34:56-05:00","TestDateTimeOffsetCollection":["2000-01-01T12:34:56-08:00"],"TestDecimal":-123450.01,"TestDecimalCollection":[-1234567890.01],"TestDefaultString":"MyDefaultStringInCollection1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDouble":-1.2345,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"00000000-0000-0000-0000-000000000000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-12,"TestInt16Collection":[-32768,0,32767],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestMaxLengthString":"Baz","TestMaxLengthStringCollection":["S1","S2","S3"],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumWithConverterThatHandlesNulls":"Two","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":-3,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableInt32":90,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestSignedByte":-18,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.4,"TestSingleCollection":[-1.234,0,-1.234],"TestTimeOnly":"05:07:08.0000000","TestTimeOnlyCollection":["13:42:23.0000000","07:17:25.0000000"],"TestTimeSpan":"6:05:04.003","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":12,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":12345,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567867,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 2139) -@p1='{"TestBoolean":true,"TestBooleanCollection":[true,false],"TestByte":255,"TestByteCollection":null,"TestCharacter":"a","TestCharacterCollection":["A","B","\u0022"],"TestDateOnly":"2023-10-10","TestDateOnlyCollection":["1234-01-23","4321-01-21"],"TestDateTime":"2000-01-01T12:34:56","TestDateTimeCollection":["2000-01-01T12:34:56","3000-01-01T12:34:56"],"TestDateTimeOffset":"2000-01-01T12:34:56-08:00","TestDateTimeOffsetCollection":["2000-01-01T12:34:56-08:00"],"TestDecimal":-1234567890.01,"TestDecimalCollection":[-1234567890.01],"TestDefaultString":"MyDefaultStringInReference1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDouble":-1.23456789,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"12345678-1234-4321-7777-987654321000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-1234,"TestInt16Collection":[-32768,0,32767],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestMaxLengthString":"Foo","TestMaxLengthStringCollection":["S1","S2","S3"],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumWithConverterThatHandlesNulls":"Three","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":2,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableInt32":78,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestSignedByte":-128,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.234,"TestSingleCollection":[-1.234,0,-1.234],"TestTimeOnly":"11:12:13.0000000","TestTimeOnlyCollection":["11:42:23.0000000","07:17:27.0000000"],"TestTimeSpan":"10:09:08.007","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":1234,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":1234565789,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567890123456789,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 2169) +@p0='{"TestBoolean":false,"TestBooleanCollection":[true,false],"TestBooleanCollectionCollection":[[true],null,[true,false]],"TestByte":25,"TestByteCollection":null,"TestCharacter":"h","TestCharacterCollection":["A","B","\u0022"],"TestCharacterCollectionCollection":[["A","B","C"],null,["D","E","F"]],"TestDateOnly":"2323-04-03","TestDateOnlyCollection":["3234-01-23","4331-01-21"],"TestDateTime":"2100-11-11T12:34:56","TestDateTimeCollection":["2000-01-01T12:34:56","3000-01-01T12:34:56"],"TestDateTimeOffset":"2200-11-11T12:34:56-05:00","TestDateTimeOffsetCollection":["2000-01-01T12:34:56-08:00"],"TestDecimal":-123450.01,"TestDecimalCollection":[-1234567890.01],"TestDefaultString":"MyDefaultStringInCollection1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDefaultStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestDouble":-1.2345,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestDoubleCollectionCollection":[[-1.23456789,-1.23456789],null,[1.23456789]],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"00000000-0000-0000-0000-000000000000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-12,"TestInt16Collection":[-32768,0,32767],"TestInt16CollectionCollection":[[-32768,0,32767],null,[-32768,0,32767]],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt32CollectionCollection":[[-2147483648,0,2147483647],null,[-2147483648,0,2147483647]],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestInt64CollectionCollection":[[-9223372036854775808,0,9223372036854775807],null,[-9223372036854775808,0,9223372036854775807]],"TestMaxLengthString":"Baz","TestMaxLengthStringCollection":["S1","S2","S3"],"TestMaxLengthStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableEnumWithConverterThatHandlesNulls":"Two","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":-3,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableEnumWithIntConverterCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableInt32":90,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestNullableInt32CollectionCollection":[null,[-2147483648,null,2147483647,null],null,[-2147483648,0,2147483647]],"TestSignedByte":-18,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.4,"TestSingleCollection":[-1.234,0,-1.234],"TestSingleCollectionCollection":[[-1.234,0,-1.234],null,[-1.234,0,-1.234]],"TestTimeOnly":"05:07:08.0000000","TestTimeOnlyCollection":["13:42:23.0000000","07:17:25.0000000"],"TestTimeSpan":"6:05:04.003","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":12,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":12345,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567867,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 3205) +@p1='{"TestBoolean":true,"TestBooleanCollection":[true,false],"TestBooleanCollectionCollection":[[true],null,[true,false]],"TestByte":255,"TestByteCollection":null,"TestCharacter":"a","TestCharacterCollection":["A","B","\u0022"],"TestCharacterCollectionCollection":[["A","B","C"],null,["D","E","F"]],"TestDateOnly":"2023-10-10","TestDateOnlyCollection":["1234-01-23","4321-01-21"],"TestDateTime":"2000-01-01T12:34:56","TestDateTimeCollection":["2000-01-01T12:34:56","3000-01-01T12:34:56"],"TestDateTimeOffset":"2000-01-01T12:34:56-08:00","TestDateTimeOffsetCollection":["2000-01-01T12:34:56-08:00"],"TestDecimal":-1234567890.01,"TestDecimalCollection":[-1234567890.01],"TestDefaultString":"MyDefaultStringInReference1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDefaultStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestDouble":-1.23456789,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestDoubleCollectionCollection":[[-1.23456789,-1.23456789],null,[1.23456789]],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"12345678-1234-4321-7777-987654321000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-1234,"TestInt16Collection":[-32768,0,32767],"TestInt16CollectionCollection":[[-32768,0,32767],null,[-32768,0,32767]],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt32CollectionCollection":[[-2147483648,0,2147483647],null,[-2147483648,0,2147483647]],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestInt64CollectionCollection":[[-9223372036854775808,0,9223372036854775807],null,[-9223372036854775808,0,9223372036854775807]],"TestMaxLengthString":"Foo","TestMaxLengthStringCollection":["S1","S2","S3"],"TestMaxLengthStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableEnumWithConverterThatHandlesNulls":"Three","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":2,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableEnumWithIntConverterCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableInt32":78,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestNullableInt32CollectionCollection":[null,[-2147483648,null,2147483647,null],null,[-2147483648,0,2147483647]],"TestSignedByte":-128,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.234,"TestSingleCollection":[-1.234,0,-1.234],"TestSingleCollectionCollection":[[-1.234,0,-1.234],null,[-1.234,0,-1.234]],"TestTimeOnly":"11:12:13.0000000","TestTimeOnlyCollection":["11:42:23.0000000","07:17:27.0000000"],"TestTimeSpan":"10:09:08.007","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":1234,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":1234565789,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567890123456789,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 3235) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; @@ -1212,7 +1212,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1465,7 +1465,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1489,7 +1489,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1513,7 +1513,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1537,7 +1537,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1561,7 +1561,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1585,7 +1585,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1609,7 +1609,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1633,7 +1633,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1657,7 +1657,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1681,7 +1681,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1705,7 +1705,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1729,7 +1729,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1753,7 +1753,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1777,7 +1777,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1801,7 +1801,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1825,7 +1825,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1849,7 +1849,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1873,7 +1873,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1897,7 +1897,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1921,7 +1921,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1945,7 +1945,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1969,7 +1969,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -1993,7 +1993,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2017,7 +2017,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2041,7 +2041,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2065,7 +2065,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2089,7 +2089,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2113,7 +2113,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2137,7 +2137,7 @@ OUTPUT 1 """, // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 1 """); @@ -2412,9 +2412,9 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b string parameterSize = value switch { - true => "1537", - false => "1534", - _ => "1536" + true => "2046", + false => "2043", + _ => "2045" }; string updateParameter = value switch @@ -2425,11 +2425,11 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b }; AssertSql( - @"@p0='[{""TestBoolean"":false,""TestBooleanCollection"":[],""TestByte"":0,""TestByteCollection"":null,""TestCharacter"":""\u0000"",""TestCharacterCollection"":" + characterCollection + @",""TestDateOnly"":""0001-01-01"",""TestDateOnlyCollection"":[],""TestDateTime"":""0001-01-01T00:00:00"",""TestDateTimeCollection"":[],""TestDateTimeOffset"":""0001-01-01T00:00:00+00:00"",""TestDateTimeOffsetCollection"":[],""TestDecimal"":0,""TestDecimalCollection"":[],""TestDefaultString"":null,""TestDefaultStringCollection"":[],""TestDouble"":0,""TestDoubleCollection"":[],""TestEnum"":0,""TestEnumCollection"":[],""TestEnumWithIntConverter"":0,""TestEnumWithIntConverterCollection"":[],""TestGuid"":""00000000-0000-0000-0000-000000000000"",""TestGuidCollection"":[],""TestInt16"":0,""TestInt16Collection"":[],""TestInt32"":0,""TestInt32Collection"":[],""TestInt64"":0,""TestInt64Collection"":[],""TestMaxLengthString"":null,""TestMaxLengthStringCollection"":[],""TestNullableEnum"":null,""TestNullableEnumCollection"":[],""TestNullableEnumWithConverterThatHandlesNulls"":null,""TestNullableEnumWithConverterThatHandlesNullsCollection"":[],""TestNullableEnumWithIntConverter"":null,""TestNullableEnumWithIntConverterCollection"":[],""TestNullableInt32"":null,""TestNullableInt32Collection"":[],""TestSignedByte"":0,""TestSignedByteCollection"":[],""TestSingle"":0,""TestSingleCollection"":[],""TestTimeOnly"":""00:00:00.0000000"",""TestTimeOnlyCollection"":[],""TestTimeSpan"":""0:00:00"",""TestTimeSpanCollection"":[],""TestUnsignedInt16"":0,""TestUnsignedInt16Collection"":[],""TestUnsignedInt32"":0,""TestUnsignedInt32Collection"":[],""TestUnsignedInt64"":0,""TestUnsignedInt64Collection"":[]}]' (Nullable = false) (Size = " + parameterSize + @") + @"@p0='[{""TestBoolean"":false,""TestBooleanCollection"":[],""TestBooleanCollectionCollection"":[],""TestByte"":0,""TestByteCollection"":null,""TestCharacter"":""\u0000"",""TestCharacterCollection"":" + characterCollection + @",""TestCharacterCollectionCollection"":[],""TestDateOnly"":""0001-01-01"",""TestDateOnlyCollection"":[],""TestDateTime"":""0001-01-01T00:00:00"",""TestDateTimeCollection"":[],""TestDateTimeOffset"":""0001-01-01T00:00:00+00:00"",""TestDateTimeOffsetCollection"":[],""TestDecimal"":0,""TestDecimalCollection"":[],""TestDefaultString"":null,""TestDefaultStringCollection"":[],""TestDefaultStringCollectionCollection"":null,""TestDouble"":0,""TestDoubleCollection"":[],""TestDoubleCollectionCollection"":[],""TestEnum"":0,""TestEnumCollection"":[],""TestEnumWithIntConverter"":0,""TestEnumWithIntConverterCollection"":[],""TestGuid"":""00000000-0000-0000-0000-000000000000"",""TestGuidCollection"":[],""TestInt16"":0,""TestInt16Collection"":[],""TestInt16CollectionCollection"":null,""TestInt32"":0,""TestInt32Collection"":[],""TestInt32CollectionCollection"":[],""TestInt64"":0,""TestInt64Collection"":[],""TestInt64CollectionCollection"":[],""TestMaxLengthString"":null,""TestMaxLengthStringCollection"":[],""TestMaxLengthStringCollectionCollection"":null,""TestNullableEnum"":null,""TestNullableEnumCollection"":[],""TestNullableEnumCollectionCollection"":[],""TestNullableEnumWithConverterThatHandlesNulls"":null,""TestNullableEnumWithConverterThatHandlesNullsCollection"":[],""TestNullableEnumWithIntConverter"":null,""TestNullableEnumWithIntConverterCollection"":[],""TestNullableEnumWithIntConverterCollectionCollection"":[[[-3]]],""TestNullableInt32"":null,""TestNullableInt32Collection"":[],""TestNullableInt32CollectionCollection"":[[99]],""TestSignedByte"":0,""TestSignedByteCollection"":[],""TestSingle"":0,""TestSingleCollection"":[],""TestSingleCollectionCollection"":[[1.1,1.2]],""TestTimeOnly"":""00:00:00.0000000"",""TestTimeOnlyCollection"":[],""TestTimeSpan"":""0:00:00"",""TestTimeSpanCollection"":[],""TestUnsignedInt16"":0,""TestUnsignedInt16Collection"":[],""TestUnsignedInt32"":0,""TestUnsignedInt32Collection"":[],""TestUnsignedInt64"":0,""TestUnsignedInt64Collection"":[]}]' (Nullable = false) (Size = " + parameterSize + @") @p1='7624' @p2='[]' (Size = 4000) -@p3=NULL (Size = 8000) (DbType = Binary) -@p4='[]' (Size = 4000) +@p3='[]' (Size = 4000) +@p4=NULL (Size = 8000) (DbType = Binary) @p5='[]' (Size = 4000) @p6='[]' (Size = 4000) @p7='[]' (Size = 4000) @@ -2437,11 +2437,11 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b @p9='[]' (Size = 4000) @p10='[]' (Size = 4000) @p11='[]' (Size = 4000) -@p12='[]' (Nullable = false) (Size = 4000) +@p12='[]' (Size = 4000) @p13='[]' (Size = 4000) @p14='[]' (Size = 4000) @p15='[]' (Size = 4000) -@p16='[]' (Size = 4000) +@p16='[]' (Nullable = false) (Size = 4000) @p17='[]' (Size = 4000) @p18='[]' (Size = 4000) @p19='[]' (Size = 4000) @@ -2452,14 +2452,26 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b @p24='[]' (Size = 4000) @p25='[]' (Size = 4000) @p26='[]' (Size = 4000) - -SET IMPLICIT_TRANSACTIONS OFF; -SET NOCOUNT ON; -INSERT INTO [JsonEntitiesAllTypes] ([Collection], [Id], [TestBooleanCollection], [TestByteCollection], [TestCharacterCollection], [TestDateTimeCollection], [TestDateTimeOffsetCollection], [TestDecimalCollection], [TestDefaultStringCollection], [TestDoubleCollection], [TestEnumCollection], [TestEnumWithIntConverterCollection], [TestGuidCollection], [TestInt16Collection], [TestInt32Collection], [TestInt64Collection], [TestMaxLengthStringCollection], [TestNullableEnumCollection], [TestNullableEnumWithConverterThatHandlesNullsCollection], [TestNullableEnumWithIntConverterCollection], [TestNullableInt32Collection], [TestSignedByteCollection], [TestSingleCollection], [TestTimeSpanCollection], [TestUnsignedInt16Collection], [TestUnsignedInt32Collection], [TestUnsignedInt64Collection]) -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15, @p16, @p17, @p18, @p19, @p20, @p21, @p22, @p23, @p24, @p25, @p26);", +@p27=NULL (Size = 4000) +@p28='[]' (Size = 4000) +@p29='[]' (Size = 4000) +@p30='[]' (Size = 4000) +@p31='[]' (Size = 4000) +@p32='[]' (Size = 4000) +@p33='[]' (Size = 4000) +@p34='[]' (Size = 4000) +@p35='[]' (Size = 4000) +@p36='[]' (Size = 4000) +@p37='[]' (Size = 4000) +@p38='[]' (Size = 4000) + +SET IMPLICIT_TRANSACTIONS OFF; +SET NOCOUNT ON; +INSERT INTO [JsonEntitiesAllTypes] ([Collection], [Id], [TestBooleanCollection], [TestBooleanCollectionCollection], [TestByteCollection], [TestCharacterCollection], [TestCharacterCollectionCollection], [TestDateTimeCollection], [TestDateTimeOffsetCollection], [TestDecimalCollection], [TestDefaultStringCollection], [TestDefaultStringCollectionCollection], [TestDoubleCollection], [TestDoubleCollectionCollection], [TestEnumCollection], [TestEnumWithIntConverterCollection], [TestGuidCollection], [TestInt16Collection], [TestInt16CollectionCollection], [TestInt32Collection], [TestInt32CollectionCollection], [TestInt64Collection], [TestInt64CollectionCollection], [TestMaxLengthStringCollection], [TestMaxLengthStringCollectionCollection], [TestNullableEnumCollection], [TestNullableEnumCollectionCollection], [TestNullableEnumWithConverterThatHandlesNullsCollection], [TestNullableEnumWithIntConverterCollection], [TestNullableEnumWithIntConverterCollectionCollection], [TestNullableInt32Collection], [TestNullableInt32CollectionCollection], [TestSignedByteCollection], [TestSingleCollection], [TestSingleCollectionCollection], [TestTimeSpanCollection], [TestUnsignedInt16Collection], [TestUnsignedInt32Collection], [TestUnsignedInt64Collection]) +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15, @p16, @p17, @p18, @p19, @p20, @p21, @p22, @p23, @p24, @p25, @p26, @p27, @p28, @p29, @p30, @p31, @p32, @p33, @p34, @p35, @p36, @p37, @p38);", // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 7624 """, @@ -2475,7 +2487,7 @@ OUTPUT 1 WHERE [Id] = @p1;", // """ -SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDoubleCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt32Collection], [j].[TestInt64Collection], [j].[TestMaxLengthStringCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableInt32Collection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] +SELECT TOP(2) [j].[Id], [j].[TestBooleanCollection], [j].[TestBooleanCollectionCollection], [j].[TestByteCollection], [j].[TestCharacterCollection], [j].[TestCharacterCollectionCollection], [j].[TestDateTimeCollection], [j].[TestDateTimeOffsetCollection], [j].[TestDecimalCollection], [j].[TestDefaultStringCollection], [j].[TestDefaultStringCollectionCollection], [j].[TestDoubleCollection], [j].[TestDoubleCollectionCollection], [j].[TestEnumCollection], [j].[TestEnumWithIntConverterCollection], [j].[TestGuidCollection], [j].[TestInt16Collection], [j].[TestInt16CollectionCollection], [j].[TestInt32Collection], [j].[TestInt32CollectionCollection], [j].[TestInt64Collection], [j].[TestInt64CollectionCollection], [j].[TestMaxLengthStringCollection], [j].[TestMaxLengthStringCollectionCollection], [j].[TestNullableEnumCollection], [j].[TestNullableEnumCollectionCollection], [j].[TestNullableEnumWithConverterThatHandlesNullsCollection], [j].[TestNullableEnumWithIntConverterCollection], [j].[TestNullableEnumWithIntConverterCollectionCollection], [j].[TestNullableInt32Collection], [j].[TestNullableInt32CollectionCollection], [j].[TestSignedByteCollection], [j].[TestSingleCollection], [j].[TestSingleCollectionCollection], [j].[TestTimeSpanCollection], [j].[TestUnsignedInt16Collection], [j].[TestUnsignedInt32Collection], [j].[TestUnsignedInt64Collection], [j].[Collection], [j].[Reference] FROM [JsonEntitiesAllTypes] AS [j] WHERE [j].[Id] = 7624 """); diff --git a/test/EFCore.Sqlite.FunctionalTests/JsonTypesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/JsonTypesSqliteTest.cs index 6ded4822d55..1f03f1d708e 100644 --- a/test/EFCore.Sqlite.FunctionalTests/JsonTypesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/JsonTypesSqliteTest.cs @@ -9,6 +9,24 @@ namespace Microsoft.EntityFrameworkCore; [SpatialiteRequired] public class JsonTypesSqliteTest : JsonTypesRelationalTestBase { + public override Task Can_read_write_array_of_list_of_GUID_JSON_values(string expected) + => base.Can_read_write_array_of_list_of_GUID_JSON_values("""{"Prop":[["00000000-0000-0000-0000-000000000000","8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"],[],["FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]]}"""); + + public override Task Can_read_write_array_of_list_of_binary_JSON_values(string expected) + => base.Can_read_write_array_of_list_of_binary_JSON_values("""{"Prop":[["000102","01","4D"],[],["4E"]]}"""); + + public override Task Can_read_write_list_of_array_of_binary_JSON_values(string expected) + => base.Can_read_write_list_of_array_of_binary_JSON_values("""{"Prop":[["000102","01","4D"],[],["4E"]]}"""); + + public override Task Can_read_write_list_of_array_of_GUID_JSON_values(string expected) + => base.Can_read_write_list_of_array_of_GUID_JSON_values("""{"Prop":[["00000000-0000-0000-0000-000000000000","8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"],[],["FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]]}"""); + + public override Task Can_read_write_list_of_array_of_list_of_array_of_binary_JSON_values(string expected) + => base.Can_read_write_list_of_array_of_list_of_array_of_binary_JSON_values("""{"Prop":[[[["000102","01","4D"]],[],[[],[]]],[],[[[]],[["000102","01","4D"]]]]}"""); + + public override Task Can_read_write_list_of_array_of_nullable_GUID_JSON_values(string expected) + => base.Can_read_write_list_of_array_of_nullable_GUID_JSON_values("""{"Prop":[["00000000-0000-0000-0000-000000000000",null,"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"],[],["FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]]}"""); + public override Task Can_read_write_binary_JSON_values(string value, string json) => base.Can_read_write_binary_JSON_values( value, value switch @@ -20,298 +38,141 @@ public override Task Can_read_write_binary_JSON_values(string value, string json _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) }); - [ConditionalFact] - public override Task Can_read_write_collection_of_decimal_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(DecimalCollectionType.Decimal), - [ - decimal.MinValue, - 0, - decimal.MaxValue - ], - """{"Prop":["-79228162514264337593543950335.0","0.0","79228162514264337593543950335.0"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_DateTime_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(DateTimeCollectionType.DateTime), - [ - DateTime.MinValue, - new(2023, 5, 29, 10, 52, 47), - DateTime.MaxValue - ], - """{"Prop":["0001-01-01 00:00:00","2023-05-29 10:52:47","9999-12-31 23:59:59.9999999"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_DateTimeOffset_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(DateTimeOffsetCollectionType.DateTimeOffset), - [ - DateTimeOffset.MinValue, - new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(-2, 0, 0)), - new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(0, 0, 0)), - new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(2, 0, 0)), - DateTimeOffset.MaxValue - ], - """{"Prop":["0001-01-01 00:00:00+00:00","2023-05-29 10:52:47-02:00","2023-05-29 10:52:47+00:00","2023-05-29 10:52:47+02:00","9999-12-31 23:59:59.9999999+00:00"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_GUID_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(GuidCollectionType.Guid), - [ - new(), - new("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"), - Guid.Parse("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") - ], - """{"Prop":["00000000-0000-0000-0000-000000000000","8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD","FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_binary_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(BytesCollectionType.Bytes), - [ - [0, 0, 0, 1], - [255, 255, 255, 255], - [], - [1, 2, 3, 4] - ], - """{"Prop":["00000001","FFFFFFFF","","01020304"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values() - => Can_read_and_write_JSON_collection_value>( - b => b.ElementType().HasPrecision(12, 6), - nameof(DecimalCollectionType.Decimal), - [ - decimal.MinValue, - 0, - decimal.MaxValue - ], - """{"Prop":["-79228162514264337593543950335.0","0.0","79228162514264337593543950335.0"]}""", - facets: new Dictionary { { CoreAnnotationNames.Precision, 12 }, { CoreAnnotationNames.Scale, 6 } }); - - [ConditionalFact] - public override Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values() - => Can_read_and_write_JSON_collection_value>( - b => b.ElementType().HasConversion(), - nameof(GuidCollectionType.Guid), - [ - new(), - new("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"), - Guid.Parse("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") - ], - """{"Prop":["00000000000000000000000000000000","2F24448C3F8E204A8BE898C7C1AADEBD","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"]}""", - facets: new Dictionary { { CoreAnnotationNames.ProviderClrType, typeof(byte[]) } }); + public override Task Can_read_write_collection_of_decimal_JSON_values(string expected) + => base.Can_read_write_collection_of_decimal_JSON_values("""{"Prop":["-79228162514264337593543950335.0","0.0","79228162514264337593543950335.0"]}"""); + + public override Task Can_read_write_collection_of_DateTime_JSON_values(string expected) + => base.Can_read_write_collection_of_DateTime_JSON_values("""{"Prop":["0001-01-01 00:00:00","2023-05-29 10:52:47","9999-12-31 23:59:59.9999999"]}"""); + + public override Task Can_read_write_collection_of_DateTimeOffset_JSON_values(string expected) + => base.Can_read_write_collection_of_DateTimeOffset_JSON_values("""{"Prop":["0001-01-01 00:00:00+00:00","2023-05-29 10:52:47-02:00","2023-05-29 10:52:47+00:00","2023-05-29 10:52:47+02:00","9999-12-31 23:59:59.9999999+00:00"]}"""); + + public override Task Can_read_write_collection_of_GUID_JSON_values(string expected) + => base.Can_read_write_collection_of_GUID_JSON_values("""{"Prop":["00000000-0000-0000-0000-000000000000","8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD","FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]}"""); + + public override Task Can_read_write_collection_of_binary_JSON_values(string expected) + => base.Can_read_write_collection_of_binary_JSON_values("""{"Prop":["00000001","FFFFFFFF","","01020304"]}"""); + + public override Task Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values(string expected) + => base.Can_read_write_collection_of_decimal_with_precision_and_scale_JSON_values("""{"Prop":["-79228162514264337593543950335.0","0.0","79228162514264337593543950335.0"]}"""); + + public override Task Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values(string expected) + => base.Can_read_write_collection_of_Guid_converted_to_bytes_JSON_values("""{"Prop":["00000000000000000000000000000000","2F24448C3F8E204A8BE898C7C1AADEBD","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"]}"""); public override Task Can_read_write_DateTime_JSON_values(string value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_DateTime_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01 00:00:00"}""")] - [InlineData("9999-12-31T23:59:59.9999999", """{"Prop":"9999-12-31 23:59:59.9999999"}""")] - [InlineData("2023-05-29T10:52:47.2064353", """{"Prop":"2023-05-29 10:52:47.2064353"}""")] - public virtual Task Can_read_write_DateTime_JSON_values_sqlite(string value, string json) - => Can_read_and_write_JSON_value( - nameof(DateTimeType.DateTime), - DateTime.Parse(value, CultureInfo.InvariantCulture), json); + => base.Can_read_write_DateTime_JSON_values( + value, value switch + { + "0001-01-01T00:00:00.0000000" => """{"Prop":"0001-01-01 00:00:00"}""", + "9999-12-31T23:59:59.9999999" => """{"Prop":"9999-12-31 23:59:59.9999999"}""", + "2023-05-29T10:52:47.2064353" => """{"Prop":"2023-05-29 10:52:47.2064353"}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_DateTimeOffset_JSON_values(string value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_DateTimeOffset_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01 00:00:00-01:00"}""")] - [InlineData("9999-12-31T23:59:59.9999999+02:00", """{"Prop":"9999-12-31 23:59:59.9999999+02:00"}""")] - [InlineData("0001-01-01T00:00:00.0000000-03:00", """{"Prop":"0001-01-01 00:00:00-03:00"}""")] - [InlineData("2023-05-29T11:11:15.5672854+04:00", """{"Prop":"2023-05-29 11:11:15.5672854+04:00"}""")] - public virtual Task Can_read_write_DateTimeOffset_JSON_values_sqlite(string value, string json) - => Can_read_and_write_JSON_value( - nameof(DateTimeOffsetType.DateTimeOffset), - DateTimeOffset.Parse(value, CultureInfo.InvariantCulture), json); + => base.Can_read_write_DateTimeOffset_JSON_values( + value, value switch + { + "0001-01-01T00:00:00.0000000-01:00" => """{"Prop":"0001-01-01 00:00:00-01:00"}""", + "9999-12-31T23:59:59.9999999+02:00" => """{"Prop":"9999-12-31 23:59:59.9999999+02:00"}""", + "0001-01-01T00:00:00.0000000-03:00" => """{"Prop":"0001-01-01 00:00:00-03:00"}""", + "2023-05-29T11:11:15.5672854+04:00" => """{"Prop":"2023-05-29 11:11:15.5672854+04:00"}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_decimal_JSON_values(decimal value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_decimal_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("-79228162514264337593543950335", """{"Prop":"-79228162514264337593543950335.0"}""")] - [InlineData("79228162514264337593543950335", """{"Prop":"79228162514264337593543950335.0"}""")] - [InlineData("0.0", """{"Prop":"0.0"}""")] - [InlineData("1.1", """{"Prop":"1.1"}""")] - public virtual Task Can_read_write_decimal_JSON_values_sqlite(decimal value, string json) - => Can_read_and_write_JSON_value(nameof(DecimalType.Decimal), value, json); - - public override Task Can_read_write_GUID_JSON_values(Guid value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_GUID_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}""")] - [InlineData("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF", """{"Prop":"FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"}""")] - [InlineData("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD", """{"Prop":"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"}""")] - public virtual Task Can_read_write_GUID_JSON_values_sqlite(Guid value, string json) - => Can_read_and_write_JSON_value(nameof(GuidType.Guid), value, json); + => base.Can_read_write_decimal_JSON_values( + value, value switch + { + -79228162514264337593543950335m => """{"Prop":"-79228162514264337593543950335.0"}""", + 79228162514264337593543950335m => """{"Prop":"79228162514264337593543950335.0"}""", + 0.0m => """{"Prop":"0.0"}""", + 1.1m => """{"Prop":"1.1"}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); + + public override Task Can_read_write_GUID_JSON_values(string value, string json) + => base.Can_read_write_GUID_JSON_values( + value, value switch + { + "00000000-0000-0000-0000-000000000000" => """{"Prop":"00000000-0000-0000-0000-000000000000"}""", + "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF" => """{"Prop":"FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"}""", + "8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD" => """{"Prop":"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_nullable_binary_JSON_values(string? value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_nullable_binary_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("0,0,0,1", """{"Prop":"00000001"}""")] - [InlineData("255,255,255,255", """{"Prop":"FFFFFFFF"}""")] - [InlineData("", """{"Prop":""}""")] - [InlineData("1,2,3,4", """{"Prop":"01020304"}""")] - [InlineData(null, """{"Prop":null}""")] - public virtual Task Can_read_write_nullable_binary_JSON_values_sqlite(string? value, string json) - => Can_read_and_write_JSON_value( - nameof(NullableBytesType.Bytes), - value == null - ? default - : value == "" - ? [] - : value.Split(',').Select(e => byte.Parse(e)).ToArray(), json); + => base.Can_read_write_nullable_binary_JSON_values( + value, value switch + { + "0,0,0,1" => """{"Prop":"00000001"}""", + "255,255,255,255" => """{"Prop":"FFFFFFFF"}""", + "" => """{"Prop":""}""", + "1,2,3,4" => """{"Prop":"01020304"}""", + null => """{"Prop":null}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_nullable_DateTime_JSON_values(string? value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_nullable_DateTime_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("0001-01-01T00:00:00.0000000", """{"Prop":"0001-01-01 00:00:00"}""")] - [InlineData("9999-12-31T23:59:59.9999999", """{"Prop":"9999-12-31 23:59:59.9999999"}""")] - [InlineData("2023-05-29T10:52:47.2064353", """{"Prop":"2023-05-29 10:52:47.2064353"}""")] - [InlineData(null, """{"Prop":null}""")] - public virtual Task Can_read_write_nullable_DateTime_JSON_values_sqlite(string? value, string json) - => Can_read_and_write_JSON_value( - nameof(NullableDateTimeType.DateTime), - value == null ? default(DateTime?) : DateTime.Parse(value, CultureInfo.InvariantCulture), json); + => base.Can_read_write_nullable_DateTime_JSON_values( + value, value switch + { + "0001-01-01T00:00:00.0000000" => """{"Prop":"0001-01-01 00:00:00"}""", + "9999-12-31T23:59:59.9999999" => """{"Prop":"9999-12-31 23:59:59.9999999"}""", + "2023-05-29T10:52:47.2064353" => """{"Prop":"2023-05-29 10:52:47.2064353"}""", + null => """{"Prop":null}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_nullable_DateTimeOffset_JSON_values(string? value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_nullable_DateTimeOffset_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("0001-01-01T00:00:00.0000000-01:00", """{"Prop":"0001-01-01 00:00:00-01:00"}""")] - [InlineData("9999-12-31T23:59:59.9999999+02:00", """{"Prop":"9999-12-31 23:59:59.9999999+02:00"}""")] - [InlineData("0001-01-01T00:00:00.0000000-03:00", """{"Prop":"0001-01-01 00:00:00-03:00"}""")] - [InlineData("2023-05-29T11:11:15.5672854+04:00", """{"Prop":"2023-05-29 11:11:15.5672854+04:00"}""")] - [InlineData(null, """{"Prop":null}""")] - public virtual Task Can_read_write_nullable_DateTimeOffset_JSON_values_sqlite(string? value, string json) - => Can_read_and_write_JSON_value( - nameof(NullableDateTimeOffsetType.DateTimeOffset), - value == null ? default(DateTimeOffset?) : DateTimeOffset.Parse(value, CultureInfo.InvariantCulture), json); + => base.Can_read_write_nullable_DateTimeOffset_JSON_values( + value, value switch + { + "0001-01-01T00:00:00.0000000-01:00" => """{"Prop":"0001-01-01 00:00:00-01:00"}""", + "9999-12-31T23:59:59.9999999+02:00" => """{"Prop":"9999-12-31 23:59:59.9999999+02:00"}""", + "0001-01-01T00:00:00.0000000-03:00" => """{"Prop":"0001-01-01 00:00:00-03:00"}""", + "2023-05-29T11:11:15.5672854+04:00" => """{"Prop":"2023-05-29 11:11:15.5672854+04:00"}""", + null => """{"Prop":null}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_nullable_decimal_JSON_values(string? value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_nullable_decimal_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("-79228162514264337593543950335", """{"Prop":"-79228162514264337593543950335.0"}""")] - [InlineData("79228162514264337593543950335", """{"Prop":"79228162514264337593543950335.0"}""")] - [InlineData("0.0", """{"Prop":"0.0"}""")] - [InlineData("1.1", """{"Prop":"1.1"}""")] - [InlineData(null, """{"Prop":null}""")] - public virtual Task Can_read_write_nullable_decimal_JSON_values_sqlite(string? value, string json) - => Can_read_and_write_JSON_value( - nameof(NullableDecimalType.Decimal), - value == null ? default(decimal?) : decimal.Parse(value, CultureInfo.InvariantCulture), json); + => base.Can_read_write_nullable_decimal_JSON_values( + value, value switch + { + "-79228162514264337593543950335" => """{"Prop":"-79228162514264337593543950335.0"}""", + "79228162514264337593543950335" => """{"Prop":"79228162514264337593543950335.0"}""", + "0.0" => """{"Prop":"0.0"}""", + "1.1" => """{"Prop":"1.1"}""", + null => """{"Prop":null}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); public override Task Can_read_write_nullable_GUID_JSON_values(string? value, string json) - // Cannot override since the base test contains [InlineData] attributes which still apply, and which contain data we need - // to override. See Can_read_write_nullable_GUID_JSON_values_sqlite instead. - => Task.CompletedTask; - - [ConditionalTheory] - [InlineData("00000000-0000-0000-0000-000000000000", """{"Prop":"00000000-0000-0000-0000-000000000000"}""")] - [InlineData("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF", """{"Prop":"FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"}""")] - [InlineData("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD", """{"Prop":"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"}""")] - [InlineData(null, """{"Prop":null}""")] - public virtual Task Can_read_write_nullable_GUID_JSON_values_sqlite(string? value, string json) - => Can_read_and_write_JSON_value( - nameof(NullableGuidType.Guid), - value == null ? null : Guid.Parse(value, CultureInfo.InvariantCulture), json); - - [ConditionalFact] - public override Task Can_read_write_collection_of_nullable_binary_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(NullableBytesCollectionType.Bytes), - [ - [0, 0, 0, 1], - null, - [255, 255, 255, 255], - [], - [1, 2, 3, 4] - ], - """{"Prop":["00000001",null,"FFFFFFFF","","01020304"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_nullable_DateTime_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(NullableDateTimeCollectionType.DateTime), - [ - DateTime.MinValue, - null, - new(2023, 5, 29, 10, 52, 47), - DateTime.MaxValue - ], - """{"Prop":["0001-01-01 00:00:00",null,"2023-05-29 10:52:47","9999-12-31 23:59:59.9999999"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(NullableDateTimeOffsetCollectionType.DateTimeOffset), - [ - DateTimeOffset.MinValue, - new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(-2, 0, 0)), - new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(0, 0, 0)), - null, - new(new DateTime(2023, 5, 29, 10, 52, 47), new TimeSpan(2, 0, 0)), - DateTimeOffset.MaxValue - ], - """{"Prop":["0001-01-01 00:00:00+00:00","2023-05-29 10:52:47-02:00","2023-05-29 10:52:47+00:00",null,"2023-05-29 10:52:47+02:00","9999-12-31 23:59:59.9999999+00:00"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_nullable_decimal_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(NullableDecimalCollectionType.Decimal), - [ - decimal.MinValue, - 0, - null, - decimal.MaxValue - ], - """{"Prop":["-79228162514264337593543950335.0","0.0",null,"79228162514264337593543950335.0"]}""", - mappedCollection: true); - - [ConditionalFact] - public override Task Can_read_write_collection_of_nullable_GUID_JSON_values() - => Can_read_and_write_JSON_value>( - nameof(NullableGuidCollectionType.Guid), - [ - new(), - null, - new("8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"), - Guid.Parse("FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") - ], - """{"Prop":["00000000-0000-0000-0000-000000000000",null,"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD","FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]}""", - mappedCollection: true); + => base.Can_read_write_nullable_GUID_JSON_values( + value, value switch + { + "00000000-0000-0000-0000-000000000000" => """{"Prop":"00000000-0000-0000-0000-000000000000"}""", + "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF" => """{"Prop":"FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"}""", + "8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD" => """{"Prop":"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD"}""", + null => """{"Prop":null}""", + _ => throw new ArgumentOutOfRangeException(nameof(value), value, null) + }); + + public override Task Can_read_write_collection_of_nullable_binary_JSON_values(string expected) + => base.Can_read_write_collection_of_nullable_binary_JSON_values("""{"Prop":["00000001",null,"FFFFFFFF","","01020304"]}"""); + + public override Task Can_read_write_collection_of_nullable_DateTime_JSON_values(string expected) + => base.Can_read_write_collection_of_nullable_DateTime_JSON_values("""{"Prop":["0001-01-01 00:00:00",null,"2023-05-29 10:52:47","9999-12-31 23:59:59.9999999"]}"""); + + public override Task Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values(string expected) + => base.Can_read_write_collection_of_nullable_DateTimeOffset_JSON_values("""{"Prop":["0001-01-01 00:00:00+00:00","2023-05-29 10:52:47-02:00","2023-05-29 10:52:47+00:00",null,"2023-05-29 10:52:47+02:00","9999-12-31 23:59:59.9999999+00:00"]}"""); + + public override Task Can_read_write_collection_of_nullable_decimal_JSON_values(string expected) + => base.Can_read_write_collection_of_nullable_decimal_JSON_values("""{"Prop":["-79228162514264337593543950335.0","0.0",null,"79228162514264337593543950335.0"]}"""); + + public override Task Can_read_write_collection_of_nullable_GUID_JSON_values(string expected) + => base.Can_read_write_collection_of_nullable_GUID_JSON_values("""{"Prop":["00000000-0000-0000-0000-000000000000",null,"8C44242F-8E3F-4A20-8BE8-98C7C1AADEBD","FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"]}"""); protected override ITestStoreFactory TestStoreFactory => SqliteTestStoreFactory.Instance; diff --git a/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderGenericTest.cs b/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderGenericTest.cs index 927b45e960a..d81996228cc 100644 --- a/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderGenericTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/ModelBuilding/SqliteModelBuilderGenericTest.cs @@ -6,56 +6,56 @@ namespace Microsoft.EntityFrameworkCore.ModelBuilding; public class SqliteModelBuilderGenericTest : SqliteModelBuilderTestBase { - public class SqlServerGenericNonRelationship(SqliteModelBuilderFixture fixture) : SqliteNonRelationship(fixture) + public class SqliteGenericNonRelationship(SqliteModelBuilderFixture fixture) : SqliteNonRelationship(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericComplexType(SqliteModelBuilderFixture fixture) : SqliteComplexType(fixture) + public class SqliteGenericComplexType(SqliteModelBuilderFixture fixture) : SqliteComplexType(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericInheritance(SqliteModelBuilderFixture fixture) : SqliteInheritance(fixture) + public class SqliteGenericInheritance(SqliteModelBuilderFixture fixture) : SqliteInheritance(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericOneToMany(SqliteModelBuilderFixture fixture) : SqliteOneToMany(fixture) + public class SqliteGenericOneToMany(SqliteModelBuilderFixture fixture) : SqliteOneToMany(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericManyToOne(SqliteModelBuilderFixture fixture) : SqliteManyToOne(fixture) + public class SqliteGenericManyToOne(SqliteModelBuilderFixture fixture) : SqliteManyToOne(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericOneToOne(SqliteModelBuilderFixture fixture) : SqliteOneToOne(fixture) + public class SqliteGenericOneToOne(SqliteModelBuilderFixture fixture) : SqliteOneToOne(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericManyToMany(SqliteModelBuilderFixture fixture) : SqliteManyToMany(fixture) + public class SqliteGenericManyToMany(SqliteModelBuilderFixture fixture) : SqliteManyToMany(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) => new GenericTestModelBuilder(Fixture, configure); } - public class SqlServerGenericOwnedTypes(SqliteModelBuilderFixture fixture) : SqliteOwnedTypes(fixture) + public class SqliteGenericOwnedTypes(SqliteModelBuilderFixture fixture) : SqliteOwnedTypes(fixture) { protected override TestModelBuilder CreateModelBuilder( Action? configure) diff --git a/test/EFCore.Sqlite.FunctionalTests/Update/JsonUpdateSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Update/JsonUpdateSqliteTest.cs index fd959fc2e3c..dbdc0f4e9af 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Update/JsonUpdateSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Update/JsonUpdateSqliteTest.cs @@ -536,7 +536,7 @@ public override async Task Edit_single_property_bool() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -559,7 +559,7 @@ public override async Task Edit_single_property_byte() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -581,7 +581,7 @@ public override async Task Edit_single_property_char() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -604,7 +604,7 @@ public override async Task Edit_single_property_datetime() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -627,7 +627,7 @@ public override async Task Edit_single_property_datetimeoffset() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -650,7 +650,7 @@ public override async Task Edit_single_property_decimal() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -673,7 +673,7 @@ public override async Task Edit_single_property_double() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -696,7 +696,7 @@ public override async Task Edit_single_property_guid() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -719,7 +719,7 @@ public override async Task Edit_single_property_int16() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -742,7 +742,7 @@ public override async Task Edit_single_property_int32() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -765,7 +765,7 @@ public override async Task Edit_single_property_int64() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -788,7 +788,7 @@ public override async Task Edit_single_property_signed_byte() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -811,7 +811,7 @@ public override async Task Edit_single_property_single() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -834,7 +834,7 @@ public override async Task Edit_single_property_timespan() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -857,7 +857,7 @@ public override async Task Edit_single_property_uint16() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -880,7 +880,7 @@ public override async Task Edit_single_property_uint32() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -903,7 +903,7 @@ public override async Task Edit_single_property_uint64() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -926,7 +926,7 @@ public override async Task Edit_single_property_nullable_int32() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -949,7 +949,7 @@ public override async Task Edit_single_property_nullable_int32_set_to_null() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -972,7 +972,7 @@ public override async Task Edit_single_property_enum() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -995,7 +995,7 @@ public override async Task Edit_single_property_enum_with_int_converter() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1018,7 +1018,7 @@ public override async Task Edit_single_property_nullable_enum() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1041,7 +1041,7 @@ public override async Task Edit_single_property_nullable_enum_set_to_null() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1064,7 +1064,7 @@ public override async Task Edit_single_property_nullable_enum_with_int_converter """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1087,7 +1087,7 @@ public override async Task Edit_single_property_nullable_enum_with_int_converter """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1110,7 +1110,7 @@ public override async Task Edit_single_property_nullable_enum_with_converter_tha """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1133,7 +1133,7 @@ public override async Task Edit_single_property_nullable_enum_with_converter_tha """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1146,8 +1146,8 @@ public override async Task Edit_two_properties_on_same_entity_updates_the_entire AssertSql( """ -@p0='{"TestBoolean":false,"TestBooleanCollection":[true,false],"TestByte":25,"TestByteCollection":null,"TestCharacter":"h","TestCharacterCollection":["A","B","\u0022"],"TestDateOnly":"2323-04-03","TestDateOnlyCollection":["3234-01-23","4331-01-21"],"TestDateTime":"2100-11-11 12:34:56","TestDateTimeCollection":["2000-01-01 12:34:56","3000-01-01 12:34:56"],"TestDateTimeOffset":"2200-11-11 12:34:56-05:00","TestDateTimeOffsetCollection":["2000-01-01 12:34:56-08:00"],"TestDecimal":"-123450.01","TestDecimalCollection":["-1234567890.01"],"TestDefaultString":"MyDefaultStringInCollection1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDouble":-1.2345,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"00000000-0000-0000-0000-000000000000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-12,"TestInt16Collection":[-32768,0,32767],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestMaxLengthString":"Baz","TestMaxLengthStringCollection":["S1","S2","S3"],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumWithConverterThatHandlesNulls":"Two","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":-3,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableInt32":90,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestSignedByte":-18,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.4,"TestSingleCollection":[-1.234,0,-1.234],"TestTimeOnly":"05:07:08.0000000","TestTimeOnlyCollection":["13:42:23.0000000","07:17:25.0000000"],"TestTimeSpan":"6:05:04.003","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":12,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":12345,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567867,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 2143) -@p1='{"TestBoolean":true,"TestBooleanCollection":[true,false],"TestByte":255,"TestByteCollection":null,"TestCharacter":"a","TestCharacterCollection":["A","B","\u0022"],"TestDateOnly":"2023-10-10","TestDateOnlyCollection":["1234-01-23","4321-01-21"],"TestDateTime":"2000-01-01 12:34:56","TestDateTimeCollection":["2000-01-01 12:34:56","3000-01-01 12:34:56"],"TestDateTimeOffset":"2000-01-01 12:34:56-08:00","TestDateTimeOffsetCollection":["2000-01-01 12:34:56-08:00"],"TestDecimal":"-1234567890.01","TestDecimalCollection":["-1234567890.01"],"TestDefaultString":"MyDefaultStringInReference1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDouble":-1.23456789,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"12345678-1234-4321-7777-987654321000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-1234,"TestInt16Collection":[-32768,0,32767],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestMaxLengthString":"Foo","TestMaxLengthStringCollection":["S1","S2","S3"],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumWithConverterThatHandlesNulls":"Three","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":2,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableInt32":78,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestSignedByte":-128,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.234,"TestSingleCollection":[-1.234,0,-1.234],"TestTimeOnly":"11:12:13.0000000","TestTimeOnlyCollection":["11:42:23.0000000","07:17:27.0000000"],"TestTimeSpan":"10:09:08.007","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":1234,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":1234565789,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567890123456789,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 2173) +@p0='{"TestBoolean":false,"TestBooleanCollection":[true,false],"TestBooleanCollectionCollection":[[true],null,[true,false]],"TestByte":25,"TestByteCollection":null,"TestCharacter":"h","TestCharacterCollection":["A","B","\u0022"],"TestCharacterCollectionCollection":[["A","B","C"],null,["D","E","F"]],"TestDateOnly":"2323-04-03","TestDateOnlyCollection":["3234-01-23","4331-01-21"],"TestDateTime":"2100-11-11 12:34:56","TestDateTimeCollection":["2000-01-01 12:34:56","3000-01-01 12:34:56"],"TestDateTimeOffset":"2200-11-11 12:34:56-05:00","TestDateTimeOffsetCollection":["2000-01-01 12:34:56-08:00"],"TestDecimal":"-123450.01","TestDecimalCollection":["-1234567890.01"],"TestDefaultString":"MyDefaultStringInCollection1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDefaultStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestDouble":-1.2345,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestDoubleCollectionCollection":[[-1.23456789,-1.23456789],null,[1.23456789]],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"00000000-0000-0000-0000-000000000000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-12,"TestInt16Collection":[-32768,0,32767],"TestInt16CollectionCollection":[[-32768,0,32767],null,[-32768,0,32767]],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt32CollectionCollection":[[-2147483648,0,2147483647],null,[-2147483648,0,2147483647]],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestInt64CollectionCollection":[[-9223372036854775808,0,9223372036854775807],null,[-9223372036854775808,0,9223372036854775807]],"TestMaxLengthString":"Baz","TestMaxLengthStringCollection":["S1","S2","S3"],"TestMaxLengthStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableEnumWithConverterThatHandlesNulls":"Two","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":-3,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableEnumWithIntConverterCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableInt32":90,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestNullableInt32CollectionCollection":[null,[-2147483648,null,2147483647,null],null,[-2147483648,0,2147483647]],"TestSignedByte":-18,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.4,"TestSingleCollection":[-1.234,0,-1.234],"TestSingleCollectionCollection":[[-1.234,0,-1.234],null,[-1.234,0,-1.234]],"TestTimeOnly":"05:07:08.0000000","TestTimeOnlyCollection":["13:42:23.0000000","07:17:25.0000000"],"TestTimeSpan":"6:05:04.003","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":12,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":12345,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567867,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 3209) +@p1='{"TestBoolean":true,"TestBooleanCollection":[true,false],"TestBooleanCollectionCollection":[[true],null,[true,false]],"TestByte":255,"TestByteCollection":null,"TestCharacter":"a","TestCharacterCollection":["A","B","\u0022"],"TestCharacterCollectionCollection":[["A","B","C"],null,["D","E","F"]],"TestDateOnly":"2023-10-10","TestDateOnlyCollection":["1234-01-23","4321-01-21"],"TestDateTime":"2000-01-01 12:34:56","TestDateTimeCollection":["2000-01-01 12:34:56","3000-01-01 12:34:56"],"TestDateTimeOffset":"2000-01-01 12:34:56-08:00","TestDateTimeOffsetCollection":["2000-01-01 12:34:56-08:00"],"TestDecimal":"-1234567890.01","TestDecimalCollection":["-1234567890.01"],"TestDefaultString":"MyDefaultStringInReference1","TestDefaultStringCollection":["S1","\u0022S2\u0022","S3"],"TestDefaultStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestDouble":-1.23456789,"TestDoubleCollection":[-1.23456789,1.23456789,0],"TestDoubleCollectionCollection":[[-1.23456789,-1.23456789],null,[1.23456789]],"TestEnum":-1,"TestEnumCollection":[-1,-3,-7],"TestEnumWithIntConverter":2,"TestEnumWithIntConverterCollection":[-1,-3,-7],"TestGuid":"12345678-1234-4321-7777-987654321000","TestGuidCollection":["12345678-1234-4321-7777-987654321000"],"TestInt16":-1234,"TestInt16Collection":[-32768,0,32767],"TestInt16CollectionCollection":[[-32768,0,32767],null,[-32768,0,32767]],"TestInt32":32,"TestInt32Collection":[-2147483648,0,2147483647],"TestInt32CollectionCollection":[[-2147483648,0,2147483647],null,[-2147483648,0,2147483647]],"TestInt64":64,"TestInt64Collection":[-9223372036854775808,0,9223372036854775807],"TestInt64CollectionCollection":[[-9223372036854775808,0,9223372036854775807],null,[-9223372036854775808,0,9223372036854775807]],"TestMaxLengthString":"Foo","TestMaxLengthStringCollection":["S1","S2","S3"],"TestMaxLengthStringCollectionCollection":[["S11","S12","S13"],null,["S21",null,"S23"]],"TestNullableEnum":-1,"TestNullableEnumCollection":[-1,null,-3,-7],"TestNullableEnumCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableEnumWithConverterThatHandlesNulls":"Three","TestNullableEnumWithConverterThatHandlesNullsCollection":[-1,null,-7],"TestNullableEnumWithIntConverter":2,"TestNullableEnumWithIntConverterCollection":[-1,null,-3,-7],"TestNullableEnumWithIntConverterCollectionCollection":[[null,[-1,null,-3,-7],null,[-1,null,-3,-7]],null],"TestNullableInt32":78,"TestNullableInt32Collection":[null,-2147483648,0,null,2147483647,null],"TestNullableInt32CollectionCollection":[null,[-2147483648,null,2147483647,null],null,[-2147483648,0,2147483647]],"TestSignedByte":-128,"TestSignedByteCollection":[-128,0,127],"TestSingle":-1.234,"TestSingleCollection":[-1.234,0,-1.234],"TestSingleCollectionCollection":[[-1.234,0,-1.234],null,[-1.234,0,-1.234]],"TestTimeOnly":"11:12:13.0000000","TestTimeOnlyCollection":["11:42:23.0000000","07:17:27.0000000"],"TestTimeSpan":"10:09:08.007","TestTimeSpanCollection":["10:09:08.007","-9:50:51.993"],"TestUnsignedInt16":1234,"TestUnsignedInt16Collection":[0,0,65535],"TestUnsignedInt32":1234565789,"TestUnsignedInt32Collection":[0,0,4294967295],"TestUnsignedInt64":1234567890123456789,"TestUnsignedInt64Collection":[0,0,18446744073709551615]}' (Nullable = false) (Size = 3239) @p2='1' UPDATE "JsonEntitiesAllTypes" SET "Collection" = json_set("Collection", '$[0]', json(@p0)), "Reference" = @p1 @@ -1156,7 +1156,7 @@ public override async Task Edit_two_properties_on_same_entity_updates_the_entire """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1396,7 +1396,7 @@ public override async Task Edit_single_property_collection_of_bool() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1419,7 +1419,7 @@ public override async Task Edit_single_property_collection_of_byte() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1442,7 +1442,7 @@ public override async Task Edit_single_property_collection_of_char() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1465,7 +1465,7 @@ public override async Task Edit_single_property_collection_of_datetime() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1488,7 +1488,7 @@ public override async Task Edit_single_property_collection_of_datetimeoffset() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1510,7 +1510,7 @@ public override async Task Edit_single_property_collection_of_decimal() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1533,7 +1533,7 @@ public override async Task Edit_single_property_collection_of_double() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1555,7 +1555,7 @@ public override async Task Edit_single_property_collection_of_guid() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1577,7 +1577,7 @@ public override async Task Edit_single_property_collection_of_int16() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1599,7 +1599,7 @@ public override async Task Edit_single_property_collection_of_int32() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1622,7 +1622,7 @@ public override async Task Edit_single_property_collection_of_int64() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1645,7 +1645,7 @@ public override async Task Edit_single_property_collection_of_signed_byte() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1668,7 +1668,7 @@ public override async Task Edit_single_property_collection_of_single() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1690,7 +1690,7 @@ public override async Task Edit_single_property_collection_of_timespan() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1713,7 +1713,7 @@ public override async Task Edit_single_property_collection_of_dateonly() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1736,7 +1736,7 @@ public override async Task Edit_single_property_collection_of_timeonly() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1759,7 +1759,7 @@ public override async Task Edit_single_property_collection_of_uint16() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1782,7 +1782,7 @@ public override async Task Edit_single_property_collection_of_uint32() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1805,7 +1805,7 @@ public override async Task Edit_single_property_collection_of_uint64() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1828,7 +1828,7 @@ public override async Task Edit_single_property_collection_of_nullable_int32() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1851,7 +1851,7 @@ public override async Task Edit_single_property_collection_of_nullable_int32_set """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1874,7 +1874,7 @@ public override async Task Edit_single_property_collection_of_enum() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1897,7 +1897,7 @@ public override async Task Edit_single_property_collection_of_enum_with_int_conv """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1920,7 +1920,7 @@ public override async Task Edit_single_property_collection_of_nullable_enum() """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1943,7 +1943,7 @@ public override async Task Edit_single_property_collection_of_nullable_enum_set_ """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1966,7 +1966,7 @@ public override async Task Edit_single_property_collection_of_nullable_enum_with """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -1989,7 +1989,7 @@ public override async Task Edit_single_property_collection_of_nullable_enum_with """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -2012,7 +2012,7 @@ public override async Task Edit_single_property_collection_of_nullable_enum_with """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -2034,7 +2034,7 @@ public override async Task Edit_single_property_collection_of_nullable_enum_with """, // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 1 LIMIT 2 @@ -2295,9 +2295,9 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b string parameterSize = value switch { - true => "1541", - false => "1538", - _ => "1540" + true => "2050", + false => "2047", + _ => "2049" }; string updateParameter = value switch @@ -2308,11 +2308,11 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b }; AssertSql( - @"@p0='[{""TestBoolean"":false,""TestBooleanCollection"":[],""TestByte"":0,""TestByteCollection"":null,""TestCharacter"":""\u0000"",""TestCharacterCollection"":" + characterCollection + @",""TestDateOnly"":""0001-01-01"",""TestDateOnlyCollection"":[],""TestDateTime"":""0001-01-01 00:00:00"",""TestDateTimeCollection"":[],""TestDateTimeOffset"":""0001-01-01 00:00:00+00:00"",""TestDateTimeOffsetCollection"":[],""TestDecimal"":""0.0"",""TestDecimalCollection"":[],""TestDefaultString"":null,""TestDefaultStringCollection"":[],""TestDouble"":0,""TestDoubleCollection"":[],""TestEnum"":0,""TestEnumCollection"":[],""TestEnumWithIntConverter"":0,""TestEnumWithIntConverterCollection"":[],""TestGuid"":""00000000-0000-0000-0000-000000000000"",""TestGuidCollection"":[],""TestInt16"":0,""TestInt16Collection"":[],""TestInt32"":0,""TestInt32Collection"":[],""TestInt64"":0,""TestInt64Collection"":[],""TestMaxLengthString"":null,""TestMaxLengthStringCollection"":[],""TestNullableEnum"":null,""TestNullableEnumCollection"":[],""TestNullableEnumWithConverterThatHandlesNulls"":null,""TestNullableEnumWithConverterThatHandlesNullsCollection"":[],""TestNullableEnumWithIntConverter"":null,""TestNullableEnumWithIntConverterCollection"":[],""TestNullableInt32"":null,""TestNullableInt32Collection"":[],""TestSignedByte"":0,""TestSignedByteCollection"":[],""TestSingle"":0,""TestSingleCollection"":[],""TestTimeOnly"":""00:00:00.0000000"",""TestTimeOnlyCollection"":[],""TestTimeSpan"":""0:00:00"",""TestTimeSpanCollection"":[],""TestUnsignedInt16"":0,""TestUnsignedInt16Collection"":[],""TestUnsignedInt32"":0,""TestUnsignedInt32Collection"":[],""TestUnsignedInt64"":0,""TestUnsignedInt64Collection"":[]}]' (Nullable = false) (Size = " + parameterSize + @") + @"@p0='[{""TestBoolean"":false,""TestBooleanCollection"":[],""TestBooleanCollectionCollection"":[],""TestByte"":0,""TestByteCollection"":null,""TestCharacter"":""\u0000"",""TestCharacterCollection"":" + characterCollection + @",""TestCharacterCollectionCollection"":[],""TestDateOnly"":""0001-01-01"",""TestDateOnlyCollection"":[],""TestDateTime"":""0001-01-01 00:00:00"",""TestDateTimeCollection"":[],""TestDateTimeOffset"":""0001-01-01 00:00:00+00:00"",""TestDateTimeOffsetCollection"":[],""TestDecimal"":""0.0"",""TestDecimalCollection"":[],""TestDefaultString"":null,""TestDefaultStringCollection"":[],""TestDefaultStringCollectionCollection"":null,""TestDouble"":0,""TestDoubleCollection"":[],""TestDoubleCollectionCollection"":[],""TestEnum"":0,""TestEnumCollection"":[],""TestEnumWithIntConverter"":0,""TestEnumWithIntConverterCollection"":[],""TestGuid"":""00000000-0000-0000-0000-000000000000"",""TestGuidCollection"":[],""TestInt16"":0,""TestInt16Collection"":[],""TestInt16CollectionCollection"":null,""TestInt32"":0,""TestInt32Collection"":[],""TestInt32CollectionCollection"":[],""TestInt64"":0,""TestInt64Collection"":[],""TestInt64CollectionCollection"":[],""TestMaxLengthString"":null,""TestMaxLengthStringCollection"":[],""TestMaxLengthStringCollectionCollection"":null,""TestNullableEnum"":null,""TestNullableEnumCollection"":[],""TestNullableEnumCollectionCollection"":[],""TestNullableEnumWithConverterThatHandlesNulls"":null,""TestNullableEnumWithConverterThatHandlesNullsCollection"":[],""TestNullableEnumWithIntConverter"":null,""TestNullableEnumWithIntConverterCollection"":[],""TestNullableEnumWithIntConverterCollectionCollection"":[[[-3]]],""TestNullableInt32"":null,""TestNullableInt32Collection"":[],""TestNullableInt32CollectionCollection"":[[99]],""TestSignedByte"":0,""TestSignedByteCollection"":[],""TestSingle"":0,""TestSingleCollection"":[],""TestSingleCollectionCollection"":[[1.1,1.2]],""TestTimeOnly"":""00:00:00.0000000"",""TestTimeOnlyCollection"":[],""TestTimeSpan"":""0:00:00"",""TestTimeSpanCollection"":[],""TestUnsignedInt16"":0,""TestUnsignedInt16Collection"":[],""TestUnsignedInt32"":0,""TestUnsignedInt32Collection"":[],""TestUnsignedInt64"":0,""TestUnsignedInt64Collection"":[]}]' (Nullable = false) (Size = " + parameterSize + @") @p1='7624' @p2='[]' (Size = 2) -@p3=NULL (DbType = Binary) -@p4='[]' (Size = 2) +@p3='[]' (Size = 2) +@p4=NULL (DbType = Binary) @p5='[]' (Size = 2) @p6='[]' (Size = 2) @p7='[]' (Size = 2) @@ -2320,11 +2320,11 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b @p9='[]' (Size = 2) @p10='[]' (Size = 2) @p11='[]' (Size = 2) -@p12='[]' (Nullable = false) (Size = 2) +@p12='[]' (Size = 2) @p13='[]' (Size = 2) @p14='[]' (Size = 2) @p15='[]' (Size = 2) -@p16='[]' (Size = 2) +@p16='[]' (Nullable = false) (Size = 2) @p17='[]' (Size = 2) @p18='[]' (Size = 2) @p19='[]' (Size = 2) @@ -2335,27 +2335,38 @@ public override async Task Add_and_update_nested_optional_primitive_collection(b @p24='[]' (Size = 2) @p25='[]' (Size = 2) @p26='[]' (Size = 2) - -INSERT INTO ""JsonEntitiesAllTypes"" (""Collection"", ""Id"", ""TestBooleanCollection"", ""TestByteCollection"", ""TestCharacterCollection"", ""TestDateTimeCollection"", ""TestDateTimeOffsetCollection"", ""TestDecimalCollection"", ""TestDefaultStringCollection"", ""TestDoubleCollection"", ""TestEnumCollection"", ""TestEnumWithIntConverterCollection"", ""TestGuidCollection"", ""TestInt16Collection"", ""TestInt32Collection"", ""TestInt64Collection"", ""TestMaxLengthStringCollection"", ""TestNullableEnumCollection"", ""TestNullableEnumWithConverterThatHandlesNullsCollection"", ""TestNullableEnumWithIntConverterCollection"", ""TestNullableInt32Collection"", ""TestSignedByteCollection"", ""TestSingleCollection"", ""TestTimeSpanCollection"", ""TestUnsignedInt16Collection"", ""TestUnsignedInt32Collection"", ""TestUnsignedInt64Collection"") -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15, @p16, @p17, @p18, @p19, @p20, @p21, @p22, @p23, @p24, @p25, @p26);", +@p27=NULL +@p28='[]' (Size = 2) +@p29='[]' (Size = 2) +@p30='[]' (Size = 2) +@p31='[]' (Size = 2) +@p32='[]' (Size = 2) +@p33='[]' (Size = 2) +@p34='[]' (Size = 2) +@p35='[]' (Size = 2) +@p36='[]' (Size = 2) +@p37='[]' (Size = 2) +@p38='[]' (Size = 2) + +INSERT INTO ""JsonEntitiesAllTypes"" (""Collection"", ""Id"", ""TestBooleanCollection"", ""TestBooleanCollectionCollection"", ""TestByteCollection"", ""TestCharacterCollection"", ""TestCharacterCollectionCollection"", ""TestDateTimeCollection"", ""TestDateTimeOffsetCollection"", ""TestDecimalCollection"", ""TestDefaultStringCollection"", ""TestDefaultStringCollectionCollection"", ""TestDoubleCollection"", ""TestDoubleCollectionCollection"", ""TestEnumCollection"", ""TestEnumWithIntConverterCollection"", ""TestGuidCollection"", ""TestInt16Collection"", ""TestInt16CollectionCollection"", ""TestInt32Collection"", ""TestInt32CollectionCollection"", ""TestInt64Collection"", ""TestInt64CollectionCollection"", ""TestMaxLengthStringCollection"", ""TestMaxLengthStringCollectionCollection"", ""TestNullableEnumCollection"", ""TestNullableEnumCollectionCollection"", ""TestNullableEnumWithConverterThatHandlesNullsCollection"", ""TestNullableEnumWithIntConverterCollection"", ""TestNullableEnumWithIntConverterCollectionCollection"", ""TestNullableInt32Collection"", ""TestNullableInt32CollectionCollection"", ""TestSignedByteCollection"", ""TestSingleCollection"", ""TestSingleCollectionCollection"", ""TestTimeSpanCollection"", ""TestUnsignedInt16Collection"", ""TestUnsignedInt32Collection"", ""TestUnsignedInt64Collection"") +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15, @p16, @p17, @p18, @p19, @p20, @p21, @p22, @p23, @p24, @p25, @p26, @p27, @p28, @p29, @p30, @p31, @p32, @p33, @p34, @p35, @p36, @p37, @p38);", // """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 7624 LIMIT 2 """, -// - -"@p0=" + updateParameter + @" + // + "@p0=" + updateParameter + @" @p1='7624' UPDATE ""JsonEntitiesAllTypes"" SET ""Collection"" = json_set(""Collection"", '$[0].TestCharacterCollection', json(@p0)) WHERE ""Id"" = @p1 RETURNING 1;", - // - """ -SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDoubleCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt32Collection", "j"."TestInt64Collection", "j"."TestMaxLengthStringCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableInt32Collection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" + // + """ +SELECT "j"."Id", "j"."TestBooleanCollection", "j"."TestBooleanCollectionCollection", "j"."TestByteCollection", "j"."TestCharacterCollection", "j"."TestCharacterCollectionCollection", "j"."TestDateTimeCollection", "j"."TestDateTimeOffsetCollection", "j"."TestDecimalCollection", "j"."TestDefaultStringCollection", "j"."TestDefaultStringCollectionCollection", "j"."TestDoubleCollection", "j"."TestDoubleCollectionCollection", "j"."TestEnumCollection", "j"."TestEnumWithIntConverterCollection", "j"."TestGuidCollection", "j"."TestInt16Collection", "j"."TestInt16CollectionCollection", "j"."TestInt32Collection", "j"."TestInt32CollectionCollection", "j"."TestInt64Collection", "j"."TestInt64CollectionCollection", "j"."TestMaxLengthStringCollection", "j"."TestMaxLengthStringCollectionCollection", "j"."TestNullableEnumCollection", "j"."TestNullableEnumCollectionCollection", "j"."TestNullableEnumWithConverterThatHandlesNullsCollection", "j"."TestNullableEnumWithIntConverterCollection", "j"."TestNullableEnumWithIntConverterCollectionCollection", "j"."TestNullableInt32Collection", "j"."TestNullableInt32CollectionCollection", "j"."TestSignedByteCollection", "j"."TestSingleCollection", "j"."TestSingleCollectionCollection", "j"."TestTimeSpanCollection", "j"."TestUnsignedInt16Collection", "j"."TestUnsignedInt32Collection", "j"."TestUnsignedInt64Collection", "j"."Collection", "j"."Reference" FROM "JsonEntitiesAllTypes" AS "j" WHERE "j"."Id" = 7624 LIMIT 2 diff --git a/test/EFCore.Tests/CollectionComparerTest.cs b/test/EFCore.Tests/CollectionComparerTest.cs index 9191d767fa6..f2ede3d3871 100644 --- a/test/EFCore.Tests/CollectionComparerTest.cs +++ b/test/EFCore.Tests/CollectionComparerTest.cs @@ -966,7 +966,7 @@ public void Can_detect_changes_to_primitive_collections_using_ObservableCollecti [ConditionalFact] public void List_comparer_throws_when_used_with_non_list() { - var comparer = new ListComparer(new ValueComparer(favorStructuralComparisons: false)); + var comparer = new ObjectListComparer, string>(new ValueComparer(favorStructuralComparisons: false)); Assert.Equal( CoreStrings.BadListType("HashSet", "IList"), @@ -984,7 +984,7 @@ public void List_comparer_throws_when_used_with_non_list() [ConditionalFact] public void Nullable_list_comparer_throws_when_used_with_non_list() { - var comparer = new NullableValueTypeListComparer(new ValueComparer(favorStructuralComparisons: false)); + var comparer = new NullableValueTypeListComparer, int>(new ValueComparer(favorStructuralComparisons: false)); Assert.Equal( CoreStrings.BadListType("HashSet", "IList"), diff --git a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs index 6967c5842da..a7fe5b17075 100644 --- a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs +++ b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs @@ -204,7 +204,7 @@ protected class WithStringCollection } [ConditionalFact] - public virtual void Throws_when_mapping_an_IReadOnlyCollection() + public virtual void Does_not_throw_when_mapping_an_IReadOnlyCollection() { var modelBuilder = CreateConventionModelBuilder(); @@ -215,9 +215,7 @@ public virtual void Throws_when_mapping_an_IReadOnlyCollection() eb.PrimitiveCollection(e => e.Tags); }); - VerifyError( - CoreStrings.ReadOnlyListType("IReadOnlyCollection"), - modelBuilder, sensitiveDataLoggingEnabled: false); + Validate(modelBuilder); } protected class WithReadOnlyCollection @@ -227,7 +225,7 @@ protected class WithReadOnlyCollection } [ConditionalFact] - public virtual void Throws_when_mapping_an_IReadOnlyList() + public virtual void Does_not_throw_when_mapping_an_IReadOnlyList() { var modelBuilder = CreateConventionModelBuilder(); @@ -238,9 +236,7 @@ public virtual void Throws_when_mapping_an_IReadOnlyList() eb.PrimitiveCollection(e => e.Tags); }); - VerifyError( - CoreStrings.ReadOnlyListType("IReadOnlyList"), - modelBuilder, sensitiveDataLoggingEnabled: false); + Validate(modelBuilder); } protected class WithReadOnlyList