diff --git a/eventz-api/Eventz.Infrastructure/AppDbContext.cs b/eventz-api/Eventz.Infrastructure/AppDbContext.cs index fdc99bf..7209230 100644 --- a/eventz-api/Eventz.Infrastructure/AppDbContext.cs +++ b/eventz-api/Eventz.Infrastructure/AppDbContext.cs @@ -1,5 +1,6 @@  using Eventz.Domain.Entitites; +using Eventz.Infrastructure.Configurations; using Microsoft.EntityFrameworkCore; namespace Eventz.Infrastructure @@ -15,6 +16,12 @@ public AppDbContext(DbContextOptions options) : base(options) public DbSet Users => Set(); - //Add Configs + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly); + + base.OnModelCreating(modelBuilder); + } + } } diff --git a/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs new file mode 100644 index 0000000..e2fff39 --- /dev/null +++ b/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs @@ -0,0 +1,25 @@ +using Eventz.Domain.Entitites; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Eventz.Infrastructure.Configurations +{ + public class UserConfiguration: IEntityTypeConfiguration + { + public void Configure (EntityTypeBuilder builder) + { + builder.ToTable("Users"); + + builder.HasKey(x => x.Id); + builder.HasMany(u => u.Events); + builder.HasMany(u => u.Tickets); + builder.HasIndex(u => u.Email).IsUnique(); + } + + } +}