2015-10-22 2 views
2

Я довольно долго изучал, как добавлять индексы в столбцы, когда вы сначала работаете с кодом Entity Framework.Правильный способ добавления индексов для первых приложений приложений Entity Framework?

Как я вижу это, есть три способа:

  1. добавить их в реальных миграций (после EF 4.2)
  2. Использование нового IndexAttribute в EF 6.1
  3. Добавить индексы для столбцов непосредственно

Я не очень люблю любого метода, как:

1: Кажется довольно рискованным. Иногда вам может потребоваться сбросить все миграции и снова выполнить «Начальную настройку». Тогда ваши индексы могут быть удалены.

Кроме того, я думаю, что он очень мало прозрачен и спрятан довольно хорошо.

2: Представляется совершенно новая и ограниченная документация. Не знаете, как хорошо это работает?

3: Опасно, если вы заново создаете базу данных.

Итак, мой вопрос: как вы добавляете индексы в код Entity Framework сначала?

ответ

5
  1. Вручную добавление кода при переносе в порядке, но я бы не рекомендовал его. Вам все равно необходимо обновить свою модель, так что правильно выполняйте миграцию.

  2. Что заставляет вас думать, что это новое и недокументированное? В этом нет ничего плохого.

  3. Определенно не делайте этого. Искушение вручную привязать базу данных shoudl можно избежать.

  4. Вы не упомянул об этом, но вы также можете использовать свободно синтаксис, что-то вроде этого:

    modelBuilder 
        .Entity<Company>() 
        .Property(t => t.Name) 
        .HasColumnAnnotation( 
         "Index", 
         new IndexAnnotation(new IndexAttribute("IX_Company_Name") 
         { 
          IsUnique = true 
         })); 
    
Смежные вопросы