diff --git a/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlArrayTypeMapping.cs b/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlArrayTypeMapping.cs index d7ba6c097..d06d88c55 100644 --- a/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlArrayTypeMapping.cs +++ b/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlArrayTypeMapping.cs @@ -1,4 +1,5 @@ #region License + // The PostgreSQL License // // Copyright (C) 2016 The Npgsql Development Team @@ -19,13 +20,13 @@ // AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS // ON AN "AS IS" BASIS, AND THE NPGSQL DEVELOPMENT TEAM HAS NO OBLIGATIONS // TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + #endregion using System; using System.Text; using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using System.Collections.Generic; using System.Diagnostics; using Microsoft.EntityFrameworkCore.ChangeTracking; @@ -45,26 +46,23 @@ public class NpgsqlArrayTypeMapping : RelationalTypeMapping /// Creates the default array mapping (i.e. for the single-dimensional CLR array type) /// public NpgsqlArrayTypeMapping(string storeType, RelationalTypeMapping elementMapping) - : this(storeType, elementMapping, elementMapping.ClrType.MakeArrayType()) - {} + : this(storeType, elementMapping, elementMapping.ClrType.MakeArrayType()) {} /// /// Creates the default array mapping (i.e. for the single-dimensional CLR array type) /// public NpgsqlArrayTypeMapping(RelationalTypeMapping elementMapping, Type arrayType) - : this(elementMapping.StoreType + "[]", elementMapping, arrayType) - {} + : this(elementMapping.StoreType + "[]", elementMapping, arrayType) {} NpgsqlArrayTypeMapping(string storeType, RelationalTypeMapping elementMapping, Type arrayType) : base(new RelationalTypeMappingParameters( new CoreTypeMappingParameters(arrayType, null, CreateComparer(elementMapping, arrayType)), storeType )) - { - ElementMapping = elementMapping; - } + => ElementMapping = elementMapping; protected NpgsqlArrayTypeMapping(RelationalTypeMappingParameters parameters, RelationalTypeMapping elementMapping) - : base(parameters) {} + : base(parameters) + => ElementMapping = elementMapping; public override RelationalTypeMapping Clone(string storeType, int? size) => new NpgsqlArrayTypeMapping(StoreType, ElementMapping); @@ -87,6 +85,7 @@ protected override string GenerateNonNullSqlLiteral(object value) if (i < arr.Length - 1) sb.Append(","); } + sb.Append("]"); return sb.ToString(); } @@ -157,7 +156,7 @@ static TElem[] Snapshot(TElem[] source, ValueComparer elementComparer) class SingleDimComparerWithIEquatable : ValueComparer where TElem : IEquatable { - public SingleDimComparerWithIEquatable(): base( + public SingleDimComparerWithIEquatable() : base( (a, b) => Compare(a, b), o => o.GetHashCode(), // TODO: Need to get hash code of elements... source => DoSnapshot(source)) {} @@ -180,6 +179,7 @@ static bool Compare(TElem[] a, TElem[] b) continue; return false; } + if (!elem1.Equals(elem2)) return false; } @@ -224,6 +224,7 @@ static bool Compare(TElem[] a, TElem[] b) continue; return false; } + if (!elem1.Equals(elem2)) return false; } diff --git a/src/EFCore.PG/Storage/Internal/Mapping/NpgsqCitextTypeMapping.cs b/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlCitextTypeMapping.cs similarity index 100% rename from src/EFCore.PG/Storage/Internal/Mapping/NpgsqCitextTypeMapping.cs rename to src/EFCore.PG/Storage/Internal/Mapping/NpgsqlCitextTypeMapping.cs diff --git a/src/EFCore.PG/Storage/Internal/Mapping/NpgsqJsonTypeMapping.cs b/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlJsonTypeMapping.cs similarity index 100% rename from src/EFCore.PG/Storage/Internal/Mapping/NpgsqJsonTypeMapping.cs rename to src/EFCore.PG/Storage/Internal/Mapping/NpgsqlJsonTypeMapping.cs diff --git a/src/EFCore.PG/Storage/Internal/Mapping/NpgsqJsonbTypeMapping.cs b/src/EFCore.PG/Storage/Internal/Mapping/NpgsqlJsonbTypeMapping.cs similarity index 100% rename from src/EFCore.PG/Storage/Internal/Mapping/NpgsqJsonbTypeMapping.cs rename to src/EFCore.PG/Storage/Internal/Mapping/NpgsqlJsonbTypeMapping.cs