Skip to content

Commit 98e8814

Browse files
committed
Remove custom ValueComparer from plugin entity config
Removed custom ValueComparer instances for Specifications and Operations properties in PluginVersion entity configuration. Now only ValueConverter is used for JSONB mapping, which simplifies the setup but may affect EF Core change tracking for these properties. #50
1 parent 9f8f81d commit 98e8814

1 file changed

Lines changed: 2 additions & 16 deletions

File tree

src/FlowSynx.PluginRegistry.Infrastructure/Configurations/PluginVersionEntityConfiguration.cs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,33 +66,19 @@ public void Configure(EntityTypeBuilder<PluginVersionEntity> builder)
6666
v => System.Text.Json.JsonSerializer.Deserialize<List<PluginSpecification>?>(v)
6767
);
6868

69-
var pluginSpecificationComparer = new ValueComparer<List<PluginSpecification>>(
70-
(c1, c2) => System.Text.Json.JsonSerializer.Serialize(c1) ==
71-
System.Text.Json.JsonSerializer.Serialize(c2),
72-
c => System.Text.Json.JsonSerializer.Serialize(c).GetHashCode(),
73-
c => System.Text.Json.JsonSerializer.Deserialize<List<PluginSpecification>>(System.Text.Json.JsonSerializer.Serialize(c))
74-
);
75-
7669
builder.Property(e => e.Specifications)
7770
.HasColumnType("jsonb")
78-
.HasConversion(pluginSpecificationConverter, pluginSpecificationComparer);
71+
.HasConversion(pluginSpecificationConverter);
7972

8073
// JSON serialization for plugin operations
8174
var pluginOperationConverter = new ValueConverter<List<PluginOperation>?, string>(
8275
v => System.Text.Json.JsonSerializer.Serialize(v),
8376
v => System.Text.Json.JsonSerializer.Deserialize<List<PluginOperation>?>(v)
8477
);
8578

86-
var pluginOperationComparer = new ValueComparer<List<PluginOperation>>(
87-
(c1, c2) => System.Text.Json.JsonSerializer.Serialize(c1) ==
88-
System.Text.Json.JsonSerializer.Serialize(c2),
89-
c => System.Text.Json.JsonSerializer.Serialize(c).GetHashCode(),
90-
c => System.Text.Json.JsonSerializer.Deserialize<List<PluginOperation>>(System.Text.Json.JsonSerializer.Serialize(c))
91-
);
92-
9379
builder.Property(e => e.Operations)
9480
.HasColumnType("jsonb")
95-
.HasConversion(pluginOperationConverter, pluginOperationComparer);
81+
.HasConversion(pluginOperationConverter);
9682

9783
builder.HasIndex(v => new { v.PluginId, v.Version })
9884
.IsUnique();

0 commit comments

Comments
 (0)