Вот сериализация кода:
JsonConvert.SerializeObject(domainEvent,
new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }
и для десериализации
var domainEvent = JsonConvert.DeserializeObject(
serializedDomainEvent,
new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All});
вот событие домена, которое я пытаюсь сериализовать
public record SubscriptionSet(Subscription subscription) : IDomainEvent
и, наконец, класс подписки
public class Subscription : AggregateRoot
{
private readonly List _alerts = new();
public Guid UserId { get; private set; }
public SubscriptionTier subscriptionTier { get; private set; }
public SubscriptionPlan subscriptionPlan { get; private set; }
public DateOnly StartDate { get; private set; }
public DateOnly EndDate { get; private set; }
public bool IsVaild { get; private set; }
public decimal ComulativeTradingVolume24H { get; private set; }
public IReadOnlyList Alerts => _alerts.ToList();
}

Сериализация часть работает правильно, но я испортил часть десериализации.
Это результат сериализации:
{"$type":"Domain.Subscriptions.Events.SubscriptionSet, Domain","subscription":{"$type":"Domain.Subscriptions.Subscription, Domain","UserId":"e09cf0c7-5cc7-4fd7-b899-ac9dc74a70a4","subscriptionTier":1,"subscriptionPlan":1,"StartDate":"2024-12-05","EndDate":"2025-03-05","IsVaild":true,"ComulativeTradingVolume24H":0.0,"Alerts":{"$type":"System.Collections.Generic.List`1[[Domain.Users.Alert, Domain]], System.Private.CoreLib","$values":[]},"Id":"ad35aeb0-c2dc-4ac2-a19f-e7fe9fcbc0c9"}}
Подробнее здесь: https://stackoverflow.com/questions/792 ... nsoft-json
Мобильная версия