Я понимаю, как добавлять соглашения к первому (с миграциями) коду. Я успешно выполнил имена таблиц и даже изменил поля идентификатора GUID на некластеризованные.Entity Framework 6.1.1 Конвенция о присвоении имен для индексов
Но я не нашел, как изменить индексное имя по умолчанию, которое предоставляет EF, когда имя не указано.
[Index(IsUnique = true)]
public string Code { get; set; }
[Index]
public string Description { get; set; }
У меня эти два требования. Верхний индекс должен быть назван UX_[schema]_[table]_Code
, второй IX_[schema]_[table]_Description
У меня также есть необходимость поддержки нескольких индексов столбцов, где IsUnique еще будет UX, но раздел колонка представляет собой комбинацию Camel Case всех столбцов (например, UX_[schema]_[table]_CodeDescription
если две колонки выше, где в том же индексе.
Я предполагаю, что мне нужно добавить это после IndexAttributeConvention, чтобы все текущие функции работали и создавали IndexAnnotations. Но я не могу найти, где индексы получают их начальную имя, если оно оставлено пустым в атрибуте (или свободной конструкции).
Заранее благодарен
Да, это то, как мы в настоящее время становится вокруг вопроса. Но это позволяет нашим разработчикам создавать любое имя, которое они хотят, а не следовать стандартам, которые у нас есть. Вопрос был в том, как я могу добавить соглашение для обозначения индексов. – Allan