Asp .NET Core 2 Identity Tablo İsimlerini Değiştirme

Categories .Net CorePosted on

ASP .NET Core 2 ile birlikte kullanılan Identity; üye işlemlerini, login (giriş), out (çıkış), token üretme, şifre sıfırlama vb. tüm işlemleri hızlı ve kolay bir şekilde gerçekleştiren üyelik sistemidir.

ASP .NET CORE 2 kullanıyor ve üyelik sisteminin daha önce kurgulamadıysanız, çok fazla bilginiz yok ise, kolayca sistemime üyelik entegrasyonu yapmak istiyorum derseniz kullanın, kullandırın. Zira ihtiyacınız olan her şey düşünülmüş ve sizin de geliştirebilmeniz sağlanmış. ASP .NET Core 2 Identity nasıl kullanılır? .Net Core 2 Identity neden kullanılır? .Net Core 2 projeme Identity entagrasyonunu nasıl yaparım? gibi sorularınız için aşağıdaki linke tıklayarak ilgili yazıları okuyabilirsiniz. Ayrıca diğer yazılara da bakmanızı tavsiye ederim.

Asp.NET Core Identity – Nedir ve Temel Kavramlar?  Gençay Yıldız

Asp .NET Core 2 Identity Tablo İsimlerini Değiştirme

Identity kullanarak oluşturulan tabloların isimlerini değiştirmek oldukça kolay. Bu işlem için context class’ınızı kullanmanız gerekiyor. Aşağıdaki kod bloğunu inceleyerek bu işlemi gerçekleştirebilirsiniz.

public class ApiDatabaseContext : IdentityDbContext, Guid>
{
    public ApiDatabaseContext(DbContextOptions options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);

        builder.Entity(entity =>
        {
            entity.ToTable(name: "aspnetusers");
        });

        builder.Entity(entity =>
        {
            entity.ToTable(name: "aspnetroles");
        });

        builder.Entity>(entity =>
        {
            entity.ToTable("aspnetuserroles");
        });

        builder.Entity>(entity =>
        {
            entity.ToTable("aspnetuserclaims");
        });

        builder.Entity>(entity =>
        {
            entity.ToTable("aspnetuserlogins");
        });

        builder.Entity>(entity =>
        {
            entity.ToTable("aspnetroleclaims");

        });

        builder.Entity>(entity =>
        {
            entity.ToTable("aspnetusertokens");
        });
    }
}

Burada dikkat etmeniz gereken bir yer var. İsimlendirme yapmadan önce primary key türünüze göre düzenleme yapmanız gerekiyor. Benim kullandığım tablolarda primary key Guid olduğu için, türünü Guid olarak belirttim. Bu alan konfigurasyonunuza göre string veya int olabilir.

String türünde bir primary key‘e sahipseniz kullanmanız gereken yapı aşağıdaki şekilde olmalıdır.

builder.Entity>(entity =>
{
    entity.ToTable("aspnetusertokens");
});

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.