Skip to content

Instantly share code, notes, and snippets.

@ahmetkucukoglu
Last active November 3, 2023 20:42
Show Gist options
  • Save ahmetkucukoglu/96effcbaba54aa0a4b39612b71f8edb9 to your computer and use it in GitHub Desktop.
Save ahmetkucukoglu/96effcbaba54aa0a4b39612b71f8edb9 to your computer and use it in GitHub Desktop.
DbContext
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.Entity<Shipment>()
.Property(e => e.State)
.HasConversion(
s => s.ToString(),
s => s switch {
nameof(OrderPlacedState) => new OrderPlacedState(),
nameof(InTransitState) => new InTransitState(),
nameof(InCustomsState) => new InCustomsState(),
nameof(CustomsClearedState) => new CustomsClearedState(),
nameof(OutForDeliveryState) => new OutForDeliveryState(),
nameof(DeliveredState) => new DeliveredState(),
nameof(NotDeliveredState) => new NotDeliveredState(),
_ => throw new ArgumentOutOfRangeException(s)
}
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment