Короче, у меня боль.
В ef core можно сделать что-то вроде триггера для модели, чтобы перед сохранением конкретного типа вызывался какой-то конкретный код? Можно как в самом типе, так и в OnModelCreating.
Сейчас сделано так:
    [Table("PlayerNotifications", Schema = "GameplayData")]
    public class PlayerNotifications
    {
        public class NotificationsData
        {
            ...
        }
        [NotMapped]
        public NotificationsData Data
        {
            get { return m_data.FromJson<NotificationsData😠); }
            set { m_data = value.ToJson(); }
        }
        private string m_data; // Specified as serialized field in PersistentStorageContext.OnModelCreating()
    }
и в OnModelCreating написано builder.Entity<PlayerNotifications😠).Property("m_data");
ну т.е. в идеале я бы держал в модели NotMapped объект, а в жсон сериализовал бы его только непосредственно перед записью в бд