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.
-
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
-
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" />
-
Beri tahu ApplicationDbContext Anda untuk menggunakan connectionString baru Anda
public ApplicationDbContext() : base("IdentityContext", throwIfV1Schema: false) { }
-
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"); }
-
Bangun kembali dan hanya itu!
Beri tahu saya jika ini cocok untuk Anda!