Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ASP.NET MVC5 - उपयोगकर्ताओं को Oracle डेटाबेस में रखना

यह आपके लिए थोड़ा देर से आ सकता है, लेकिन अगर किसी और को भी इसी समस्या का सामना करना पड़ता है तो मैं इसे छोड़ दूंगा। इसलिए मैं अंततः आइडेंटिटी 2.0 और ओरेकल को एक साथ काम करने में कामयाब रहा। यदि आप डिफ़ॉल्ट IdentityUser में कोई परिवर्तन नहीं करना चाहते हैं तो निम्न चरण काम करते हैं (उदा। यदि आप int या long के बजाय char ID रखने के साथ ठीक हैं) और बस अपने मौजूदा Oracle स्कीमा पर तालिकाएँ चाहते हैं।

  1. Oracle पर पहचान तालिकाएँ बनाएँ। यदि आप चाहें तो तालिका के नाम बदल सकते हैं, बस पहचान के साथ काम करने के लिए आवश्यक कॉलम शामिल करना सुनिश्चित करें। आप अपने आवेदन पर आवश्यक अतिरिक्त कॉलम भी जोड़ सकते हैं (स्क्रिप्ट मूल रूप से डेवर्ट , यूआरएल टूटने की स्थिति में मैंने इसे एक सार में कॉपी किया है):

    सार यहां

  2. यदि आप एक ईडीएमएक्स फ़ाइल का उपयोग कर रहे हैं, तो आपको एक नई कनेक्शन स्ट्रिंग जोड़ने की आवश्यकता है क्योंकि जो स्वचालित रूप से उत्पन्न होता है वह काम नहीं करेगा, आपको एक मानक कनेक्शन स्ट्रिंग की आवश्यकता है। इस टेम्पलेट का अनुसरण करने का प्रयास करें:

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

  3. अपने ApplicationDbContext को अपने नए कनेक्शनस्ट्रिंग का उपयोग करने के लिए कहें

    public ApplicationDbContext()
        : base("IdentityContext", throwIfV1Schema: false)
    {
    }
    
  4. अपने मौजूदा स्कीमा और तालिकाओं का उपयोग करने के लिए पहचान बताएं। IdentityModels.cs में मिली ApplicationDbContext परिभाषा के अंदर इस विधि को जोड़ें:

    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. पुनर्निर्माण करें और बस!

मुझे बताएं कि क्या यह आपके लिए काम करता है!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीएल/एसक्यूएल सीखने के लिए विकास का माहौल तैयार करना

  2. Oracle में स्पष्ट और निहित कर्सर के बीच अंतर क्या है?

  3. ओरेकल को रेंज के साथ नंबर मिलते हैं

  4. एक एप्लिकेशन डेटाबेस अज्ञेयवादी रखना (ADO.NET बनाम एनकैप्सुलेटिंग डीबी लॉजिक)

  5. oracle.jdbc.driver.LogicalConnection प्राप्त करना, oracle.jdbc.OracleConnection की आवश्यकता है