EF Fluent API - HasIndex для сложного поля - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужно использовать Fluent API (без DataAnnotation) и должен создать сложный индекс (3 поля). Я пытаюсь сделать это:

        this.HasIndex(p => p.LoadId).HasName("IX_UniqueLoad").IsUnique();
        this.HasIndex(p => p.LocationId).HasName("IX_UniqueLoad").IsUnique();
        this.HasIndex(p => p.StopAction).HasName("IX_UniqueLoad").IsUnique();

но там написано:

Индекс с именем 'IX_UniqueLoad' для таблицы 'dbo.Stop' имеет такой же порядок столбцов «-1» указан для столбцов «LoadId» и «LocationId». Убедитесь, что для IndexAttribute используется другое значение заказа каждый столбец индекса из нескольких столбцов.

Как это сделать?

1 Ответ

0 голосов
/ 10 сентября 2018

Я нашел решение:

this.HasIndex(p => new { p.LoadId, p.LocationId, p.StopAction }).IsUnique();

оно сгенерирует:

CreateIndex("dbo.Stop", new[] { "LoadId", "LocationId", "StopAction" }, unique: true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...