Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ASP.NET MVC5 - Menjaga Pengguna di Database Oracle

Ini mungkin datang agak terlambat untuk Anda, tetapi saya akan membiarkannya jika ada orang lain yang mengalami masalah yang sama. Jadi, saya akhirnya berhasil membuat Identity 2.0 dan Oracle bekerja sama. Langkah-langkah berikut berfungsi jika Anda tidak ingin membuat perubahan apa pun pada IdentityUser default (mis. jika Anda setuju dengan memiliki ID char, bukan int atau long) dan hanya ingin tabel pada skema Oracle yang ada.

  1. Buat tabel Identitas di Oracle. Anda dapat mengubah nama tabel jika Anda mau, pastikan untuk menyertakan kolom yang diperlukan agar Identity dapat bekerja dengannya. Anda juga dapat menambahkan kolom tambahan apa pun yang mungkin Anda perlukan pada aplikasi Anda (skrip aslinya ditemukan di Menyingkirkan , saya menyalinnya ke inti jika URL rusak):

    Inti di sini

  2. Jika Anda menggunakan file EDMX, Anda perlu menambahkan string koneksi baru karena yang dihasilkan secara otomatis tidak akan berfungsi, Anda memerlukan string koneksi standar. Coba ikuti template ini:

    <add name="IdentityContext" connectionString="Data Source=localhost:1521/xe;PASSWORD=password;USER ID=username;" providerName="Oracle.ManagedDataAccess.Client" />

  3. Beri tahu ApplicationDbContext Anda untuk menggunakan connectionString baru Anda

    public ApplicationDbContext()
        : base("IdentityContext", throwIfV1Schema: false)
    {
    }
    
  4. Beri tahu Identity untuk menggunakan skema dan tabel yang ada. Tambahkan metode ini di dalam definisi ApplicationDbContext yang ditemukan di IdentityModels.cs:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder); // MUST go first.
    
        modelBuilder.HasDefaultSchema("YOUR_SCHEMA"); // Use uppercase!
    
        modelBuilder.Entity<ApplicationUser>().ToTable("AspNetUsers");
        modelBuilder.Entity<IdentityRole>().ToTable("AspNetRoles");
        modelBuilder.Entity<IdentityUserRole>().ToTable("AspNetUserRoles");
        modelBuilder.Entity<IdentityUserClaim>().ToTable("AspNetUserClaims");
        modelBuilder.Entity<IdentityUserLogin>().ToTable("AspNetUserLogins");
    }
    
  5. Bangun kembali dan hanya itu!

Beri tahu saya jika ini cocok untuk Anda!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle (11.2.0.1) :Cara mengidentifikasi baris yang saat ini diperbarui oleh pernyataan UPDATE

  2. Jalankan Prosedur Tersimpan SQL Server melalui Tautan Database dari Oracle

  3. Mengapa Oracle tidak menunjukkan bagian bilangan bulat dari desimal

  4. kueri Rollup dengan beberapa jaring logis menggunakan Oracle SQL

  5. Muat data ke tabel yang dipartisi besar