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

EF:Sử dụng không chính xác chỉ mục không gian / toàn văn bản / băm và thứ tự chỉ mục rõ ràng

Đã giải quyết nó.

Trong tệp di chuyển của bạn, hãy thay thế các mục nhập .Index bằng các lệnh sql như bên dưới

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

Thêm lệnh SQL tương ứng ở cuối phương thức Up () của bạn (cho mọi chỉ mục)

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

Các vấn đề tôi thêm sau đó với DataReaders liên quan đến trình kết nối MySQL. Trình kết nối MySQL không hỗ trợ nhiều kết nối đang hoạt động. Để xử lý điều này, nếu bạn có điều này trong bộ điều khiển của mình

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

Bây giờ nó phải là

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

Nếu bạn không biết cách chuyển đổi các lệnh .Index () sang SQL, chỉ cần

update-database -verbose

và tất cả các lệnh SQL sẽ hiển thị




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Facebook không thể loại bỏ dữ liệu meta sau khi tôi chuyển Wordpress sang máy chủ mới

  2. Kiến thức cơ bản về điều chỉnh MySQL trên máy chủ chuyên dụng

  3. Trường ngày giờ Django - chuyển đổi sang múi giờ trong chế độ xem

  4. Bảng kết quả SQL, khớp trong bảng thứ hai Loại SET

  5. Sử dụng MariaDB với Entity Framework