6 Şubat 2023 Pazartesi

DBContext, Fluent Api EntityTypeConfiguration

 

    public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options):base(options)
        {

        }       
        public DbSet<Gathering> Gathering { get; set; }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());

            base.OnModelCreating(modelBuilder);
        }
    }


    public class GatheringConfiguration : IEntityTypeConfiguration<Gathering>
    {
        public void Configure(EntityTypeBuilder<Gathering> builder)
        {
            builder.HasKey(x => x.Id);
            
        }
    }


Infrastructure Layer

    public static class AssemblyReference
    {
        public static readonly Assembly Assembly = typeof(Assembly).Assembly;
        public static IServiceCollection AddPersistence(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddDbContext<ApplicationDbContext>((sp, optionBuilder) =>
            {;
                DbContextOptionsBuilder dbContextOptionsBuilder = optionBuilder.UseSqlServer(
                    configuration.GetConnectionString("Default")
                    );
            });
            return services;
        }
    }


Program.cs


builder.Services
    .AddPersistence(builder.Configuration);


Fluent Api Reference

Hiç yorum yok:

Yorum Gönder