и все команды SQL покажут
ользую Entity Framework с моим проектом WEB Api. Я использую код первой миграции.
Дело в том, что после первоначальной миграции и обновления базы данных я получаю эту ошибку
Неправильное использование пространственного / полнотекстового / хеш-индекса и явного порядка индекса
Что вызвано этой командой SQL в базе данных обновления:
create table `Articles`
(
`articleId` int not null auto_increment ,
`title` longtext not null ,
`digest` longtext,
`content` longtext not null ,
`imgLink` longtext not null ,
`releaseDate` datetime,
`userId` int not null ,
primary key ( `articleId`)
) engine=InnoDb auto_increment=0
CREATE index `IX_userId` on `Articles` (`userId` DESC) using HASH
Команда SQL генерируется из этого кода при миграции:
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);
Похоже, DESC и HASH при создании индекса вызывают эту ошибку. Любые идеи о том, как изменить создание сгенерированного индекса SQL, чтобы он шел с простой индексации? Или просто обойти эту ошибку, чтобы моя база обновлений могла пройти? Спасибо !
РЕДАКТИРОВАТЬ: добавлен класс статьи
public class Article
{
public Article()
{
this.comments = new HashSet<Comment>();
}
[Key]
public int articleId { get; set; }
[Required]
public string title { get; set; }
public string digest { get; set; }
[Required]
public string content { get; set; }
[Required]
public string imgLink { get; set; }
public DateTime? releaseDate { get; set; }
// Clé étrangère (table User)
public int userId { get; set; }
// Auteur de l'article
public virtual User user { get; set; }
// Commentaires
public virtual ICollection<Comment> comments { get; set; }
}
Я добавлю, что DESC HASH для индекса генерируется в выходных данных каждого .Index () в файле миграции.