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

पहचान (डेटाबेस निर्माण पर) त्रुटि निर्दिष्ट कुंजी बहुत लंबी थी

EF द्वारा उत्पन्न SQL प्रश्नों की जाँच के माध्यम से, मैंने पाया था कि समस्या AspNetUsers तालिका में UserName (varchar utf8 256) और तालिका AspNetRoles में नाम (varchar utf8 256) से संबंधित थी, जबकि HistoryRow की तालिका ठीक थी।

तो निम्नलिखित कोड ने समस्या का समाधान किया।

    public class WebPortalDbContext : IdentityDbContext<ApplicationUser>
{
    public WebPortalDbContext()
        : base("IdentityConnection")
    {

    }

    public static WebPortalDbContext Create()
    {
        return new WebPortalDbContext();
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>()
            .Property(c => c.Name).HasMaxLength(128).IsRequired();

        modelBuilder.Entity<Microsoft.AspNet.Identity.EntityFramework.IdentityUser>().ToTable("AspNetUsers")//I have to declare the table name, otherwise IdentityUser will be created
            .Property(c => c.UserName).HasMaxLength(128).IsRequired();
    }


}

समाधान को स्पष्ट करने के लिए, मैं यहां पुस्तकालयों का उपयोग कर रहा हूं:

  1. ईएफ 6.1.0
  2. Microsoft ASP.NET Identity EntityFramework 2.0.0
  3. ASP.NET पहचान ओविन 2.0.0
  4. MySQL .NET लाइब्रेरी 6.8.3

और यह समाधान

. के लिए भी काम करता है
  1. ईएफ 6.1.1
  2. Microsoft ASP.NET Identity EntityFramework 2.0.1
  3. ASP.NET पहचान ओविन 2.0.1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JQuery AJAX सफलता में MySQL से विशिष्ट प्रतिक्रिया प्राप्त करें

  2. घंटा () उदाहरण – MySQL

  3. 'दिनांक' के लिए अमान्य डिफ़ॉल्ट मान

  4. डेटाबेस Perl . से कनेक्ट हो रहा है

  5. मलयालम में मैसकल में डेटा सम्मिलित करना