DataContext.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using Microsoft.EntityFrameworkCore;
  2. using Products.Business.Domain;
  3. using Products.Common.Types;
  4. namespace Products.Business.Persistence;
  5. public sealed class DataContext : DbContext
  6. {
  7. public required DbSet<Product> Products { get; set; }
  8. protected override void OnConfiguring
  9. (DbContextOptionsBuilder optionsBuilder)
  10. {
  11. optionsBuilder.UseInMemoryDatabase("ProductsDB");
  12. }
  13. public DataContext(DbContextOptions<DataContext> options) : base(options)
  14. {
  15. Database.EnsureCreated();
  16. }
  17. protected override void OnModelCreating(ModelBuilder modelBuilder)
  18. {
  19. // seed the database with dummy data
  20. modelBuilder.Entity<Product>().HasData(
  21. new Product
  22. {
  23. Id = 1,
  24. Name = "Product Azul",
  25. Brand = "Brand Azul",
  26. Color = Color.Blue
  27. },
  28. new Product
  29. {
  30. Id = 2,
  31. Name = "Product Rojo",
  32. Brand = "Brand Rojo",
  33. Color = Color.Red
  34. },
  35. new Product
  36. {
  37. Id = 3,
  38. Name = "Product Verde",
  39. Brand = "Brand Verde",
  40. Color = Color.Green
  41. },
  42. new Product
  43. {
  44. Id = 4,
  45. Name = "Product Azul #2",
  46. Brand = "Brand Azul #2",
  47. Color = Color.Blue
  48. },
  49. new Product
  50. {
  51. Id = 5,
  52. Name = "Product Rojo #2",
  53. Brand = "Brand Rojo #2",
  54. Color = Color.Red
  55. }
  56. );
  57. base.OnModelCreating(modelBuilder);
  58. }
  59. }