Короче, у меня боль.
В 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 объект, а в жсон сериализовал бы его только непосредственно перед записью в бд