Kavita/Kavita.Database/Extensions/DataContextExtensions.cs
Fesaa c62b20f54b
BE Tech Debt (#4497)
Co-authored-by: Joseph Milazzo <joseph.v.milazzo@gmail.com>
Co-authored-by: Joe Milazzo <josephmajora@gmail.com>
2026-03-07 10:04:08 -08:00

16 lines
539 B
C#

using System.Text.Json;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Kavita.Database.Extensions;
public static class DataContextExtensions
{
public static PropertyBuilder<TProperty> HasJsonConversion<TProperty>(this PropertyBuilder<TProperty> builder, TProperty def = default)
{
return builder.HasConversion(
v => JsonSerializer.Serialize(v, JsonSerializerOptions.Default),
v => JsonSerializer.Deserialize<TProperty>(v, JsonSerializerOptions.Default) ?? def
);
}
}