Member 14789376 Ответов: 2

Как индексировать существующую базу данных code first?


Сначала я использую код для создания своей базы данных с помощью ASP.NET проект MVC, но я не создавал индекс для столбцов. Теперь я хочу проиндексировать несколько столбцов в моей существующей базе данных, я могу сделать это из sql server management studio.

Я хочу спросить вот о чем: должен ли я вносить какие-либо изменения в свои модели, которые я создал в базе данных, или достаточно сделать эту операцию только над базой данных?

Большое спасибо.

Что я уже пробовал:

Мне нужна информация об этом, я не смог найти хороший пример.

2 Ответов

Рейтинг:
2

F-ES Sitecore

Вы должны добавить их в свой код, чтобы они существовали, если база данных будет воссоздана из кода.

Индексы - EF Core | Microsoft Docs[^]

Code first, в общем-то, плохая идея для чего-то "серьезного". Это нормально для быстрого прототипирования или запуска чего-то, но не совсем для любой производственной системы.


Рейтинг:
1

ishan_shah

При миграции вы должны добавить создание индекса в метод up() и оператор drop в метод Down (), чтобы включить понижение уровня схемы базы данных

namespace TestLib.Migrations
{
    using System.Data.Entity.Migrations;
 
    public partial class UserTable : DbMigration
    {
        public override void Up()
        {
            CreateIndex("User", new string[] { "UserId", "UserName" },
                true, "IX_User_UserId");
        }
 
        public override void Down()
        {
            DropIndex("User", "IX_User_UserId");
        }
    }
}

Затем вы должны применить обновление через консоль диспетчера пакетов