Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

EF:Penggunaan indeks spasial/teks lengkap/hash yang salah dan urutan indeks eksplisit

Menyelesaikannya.

Di file migrasi Anda, ganti entri .Index dengan perintah sql seperti di bawah ini

CreateTable(
        "dbo.Articles",
        c => new
            {
                articleId = c.Int(nullable: false, identity: true),
                title = c.String(nullable: false, unicode: false),
                digest = c.String(unicode: false),
                content = c.String(nullable: false, unicode: false),
                imgLink = c.String(nullable: false, unicode: false),
                releaseDate = c.DateTime(precision: 0),
                userId = c.Int(nullable: false),
            })
        .PrimaryKey(t => t.articleId)
        .ForeignKey("dbo.Users", t => t.userId, cascadeDelete: true)
        .Index(t => t.userId); // REMOVE THIS

Tambahkan perintah SQL yang sesuai di bagian bawah metode Up() Anda (untuk setiap indeks)

Sql("CREATE index `IX_userId` on `Articles` (`userId` DESC)");

Masalah yang saya tambahkan kemudian dengan DataReaders terkait dengan konektor MySQL. Konektor MySQL tidak mendukung beberapa koneksi aktif. Untuk menangani ini, jika Anda memiliki ini di pengontrol Anda

public IEnumerable<Article> GetArticles()
{
    return db.Articles;
}

Sekarang seharusnya

public IEnumerable<Article> GetArticles()
{
    return db.Articles.ToList(); // ToList() will manage the request to work with only ONE data reader, 
}

Jika Anda tidak tahu cara mengonversi perintah .Index() ke SQL, cukup

update-database -verbose

dan semua perintah SQL akan ditampilkan




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengisi drop-down berdasarkan pilihan sebelumnya

  2. NodeJS/mySQL - ER_ACCESS_DENIED_ERROR Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata sandi:YA)

  3. Lengkapi sistem pendaftaran pengguna menggunakan PHP dan database MySQL

  4. Cara Mencadangkan Database MySQL Moodle Anda

  5. Ruby datetime cocok untuk perbandingan mysql