|
|
|
@ -1,11 +1,12 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using Microsoft.EntityFrameworkCore; |
|
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders; |
|
|
|
using Volo.Abp.Auditing; |
|
|
|
using Volo.Abp.Data; |
|
|
|
using Volo.Abp.Domain.Entities; |
|
|
|
using Volo.Abp.EntityFrameworkCore.ValueComparers; |
|
|
|
using Volo.Abp.EntityFrameworkCore.ValueConverters; |
|
|
|
using Volo.Abp.MultiTenancy; |
|
|
|
|
|
|
|
namespace Volo.Abp.EntityFrameworkCore.Modeling |
|
|
|
@ -57,10 +58,8 @@ namespace Volo.Abp.EntityFrameworkCore.Modeling |
|
|
|
{ |
|
|
|
b.Property<Dictionary<string, object>>(nameof(IHasExtraProperties.ExtraProperties)) |
|
|
|
.HasColumnName(nameof(IHasExtraProperties.ExtraProperties)) |
|
|
|
.ConfigureJsonConversionWithValueComparer( |
|
|
|
(d1, d2) => d1.SequenceEqual(d2), |
|
|
|
d => d.Aggregate(0, (k, v) => HashCode.Combine(k, v.GetHashCode())), |
|
|
|
d => d.ToDictionary(k => k.Key, v => v.Value)); |
|
|
|
.HasConversion(new AbpJsonValueConverter<Dictionary<string, object>>()) |
|
|
|
.Metadata.SetValueComparer(new AbpDictionaryValueComparer()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|