Как создать индекс включающий в себя строку при использовании Code First?

591
07 апреля 2017, 20:15

Я использую entity-framework версии 6.1.3. Класс доменной модели выглядит следующим образом:

public class ReferenceBook
{
    public int Id {get;set;}
    [Index("IX_ParentId_Name", IsUnique = true, Order = 1)]
    public int? ParentId {get;set;}
    [Required, Index("IX_ParentId_Name", IsUnique = true, Order = 2)]
    public string Name {get;set;}
}

При попытке выполнить миграцию полученную я получаю сообщение об ошибке:

Тип столбца "Name" в таблице "dbo.Items" не позволяет выбрать его в качестве ключевого столбца индекса.

похожий вопрос на stackoverflow

Answer 1

Как оказалось данная ошибка возникает из за того что отсутствует аннотация StringLength.

Добавив данную аннотацию следующим образом: [StringLength(50)] мы тем самым ограничиваем длину столбца Name в таблице бд

[Required, Index("IX_ParentId_Name", IsUnique = true, Order = 2)]
[StringLength(50)]
public string Name {get;set;}

После этого миграция выполняется без проблем

READ ALSO
C# Остановить ffmpeg

C# Остановить ffmpeg

если я использую консольный ffmpeg

485
Выскакивает ошибка Parse error: syntax error, unexpected T_CONTINUE [требует правки]

Выскакивает ошибка Parse error: syntax error, unexpected T_CONTINUE [требует правки]

Доброго времени сутокПишу код сайта и столкнулся при проверке через сервера с этой ошибкой

441
вывести столбец в виде ссылки

вывести столбец в виде ссылки

Добрый вечер уважаемые знатокиЕсть маленькая проблема (так как, я ноль в PHP вынужден обратится к вам)

246
Падает MySQL сервер после последовательных 10-15 запросов на сайт

Падает MySQL сервер после последовательных 10-15 запросов на сайт

При обращении 15 раз подряд и больше (через F5) сервис mysql нужно включать зановоВ err логах из важного:

261