Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ASP.NET MVC5 - Giữ người dùng trong cơ sở dữ liệu Oracle

Điều này có thể đến hơi muộn đối với bạn nhưng tôi sẽ để lại nó trong trường hợp bất kỳ ai khác gặp phải vấn đề tương tự. Các bước sau sẽ hoạt động nếu bạn không muốn thực hiện bất kỳ thay đổi nào đối với IdentityUser mặc định (ví dụ:nếu bạn đồng ý với việc có ID char thay vì int hoặc long) và chỉ muốn các bảng trên lược đồ Oracle hiện có của bạn.

  1. Tạo bảng Identity trên Oracle. Bạn có thể thay đổi tên bảng nếu muốn, chỉ cần đảm bảo bao gồm các cột cần thiết để Identity hoạt động với nó. Bạn cũng có thể thêm bất kỳ cột bổ sung nào mà bạn có thể cần trên ứng dụng của mình (tập lệnh ban đầu được tìm thấy trên Devart , Tôi đã sao chép nó vào một ý chính trong trường hợp URL bị ngắt):

    Gist đây

  2. Nếu bạn đang sử dụng tệp EDMX, bạn cần thêm một chuỗi kết nối mới vì chuỗi được tạo tự động sẽ không hoạt động, bạn cần một chuỗi kết nối chuẩn. Hãy thử làm theo mẫu này:

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

  3. Yêu cầu ApplicationDbContext của bạn sử dụng Chuỗi kết nối mới của bạn

    public ApplicationDbContext()
        : base("IdentityContext", throwIfV1Schema: false)
    {
    }
    
  4. Yêu cầu Identity sử dụng lược đồ và bảng hiện có của bạn. Thêm phương thức này vào bên trong định nghĩa ApplicationDbContext trong IdentityModels.cs:

    ghi đè
    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. Xây dựng lại và thế là xong!

Hãy cho tôi biết nếu nó phù hợp với bạn!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nối hoặc đính kèm một đối tượng json bên trong một đối tượng json đối tượng json khác với plsql

  2. Thiết kế ngược mô hình dữ liệu bằng Oracle SQL Developer

  3. oracle 12c - chọn chuỗi sau lần xuất hiện cuối cùng của một ký tự

  4. Khi nào tôi cần sử dụng dấu chấm phẩy và dấu gạch chéo trong Oracle SQL?

  5. Làm cách nào để lấy các ký tự được đánh số lẻ trong một chuỗi bằng SQL