private static void MapSingleEvents(ModelBuilder modelBuilder) { var entity = modelBuilder.Entity <SingleEvent>(); entity.HasKey(x => x.Id); entity.Property(x => x.Title).IsRequired(); entity.Property(x => x.Start).IsRequired(); entity.Property(x => x.Duration).HasConversion(d => d.ToJson(), d => EventDuration.FromJson(d)) .IsRequired(); entity.Property(x => x.MailAddresses) .HasConversion(ma => ListMapper.ToJson(ma), ma => ListMapper.FromJson(ma)); }
private static void MapEventSeries(ModelBuilder modelBuilder) { var entity = modelBuilder.Entity <EventSeries>(); entity.HasKey(x => x.Id); entity.Property(x => x.Title).IsRequired(); entity.Property(x => x.Start).IsRequired(); entity.Property(x => x.Duration).HasConversion(d => d.ToJson(), d => EventDuration.FromJson(d)) .IsRequired(); entity.Property(x => x.RepeatPeriod).HasConversion( v => v.ToString(), v => (RepeatPeriod)Enum.Parse(typeof(RepeatPeriod), v)).IsRequired(); entity.HasMany(x => x.EditedEvents).WithOne(x => x.EventSeries); entity.Property(x => x.Finish).HasConversion(v => v.ToJson(), v => FinishClass.FromJson(v)).IsRequired(); entity.Property(x => x.MailAddresses) .HasConversion(ma => ListMapper.ToJson(ma), ma => ListMapper.FromJson(ma)); entity.Property(x => x.DeletedOccurrences) .HasConversion(deleted => ListMapper.ToJsonDateTime(deleted), deleted => ListMapper.FromJsonDateTime(deleted)); }