powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / How to stop EF Core from indexing all foreign keys
4 сообщений из 4, страница 1 из 1
How to stop EF Core from indexing all foreign keys
    #39794913
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
How to stop EF Core from indexing all foreign keys

Появился способ? Или, как там советуют, вручную удалять создание лишних индексов из файлов миграций?
...
Рейтинг: 0 / 0
How to stop EF Core from indexing all foreign keys
    #39794933
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К How to stop EF Core from indexing all foreign keys

Появился способ? Или, как там советуют, вручную удалять создание лишних индексов из файлов миграций?а зачем это надо?
База давно сама решает где нужен индекс и где нет.
Делай DBFirst.
...
Рейтинг: 0 / 0
How to stop EF Core from indexing all foreign keys
    #39794975
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123а зачем это надо?Хочется мне...

Ниже решение, если кому интересно. Используется внутренний API, в последующих версиях EF может перестать работать.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    ....
    optionsBuilder.ReplaceService<ICoreConventionSetBuilder, AppCoreConventionSetBuilder>();
    ....

    class AppCoreConventionSetBuilder : CoreConventionSetBuilder
    {
        public AppCoreConventionSetBuilder(CoreConventionSetBuilderDependencies dependencies)
            : base(dependencies)
        { }

        public override ConventionSet CreateConventionSet()
        {
            var result = base.CreateConventionSet();

            var foreignKeyIndexConvention = result.BaseEntityTypeChangedConventions.OfType<ForeignKeyIndexConvention>().First();
            result.BaseEntityTypeChangedConventions.Remove(foreignKeyIndexConvention);
            result.KeyAddedConventions.Remove(foreignKeyIndexConvention);
            result.KeyRemovedConventions.Remove(foreignKeyIndexConvention);
            result.ForeignKeyAddedConventions.Remove(foreignKeyIndexConvention);
            result.ForeignKeyRemovedConventions.Remove(foreignKeyIndexConvention);
            result.ForeignKeyUniquenessChangedConventions.Remove(foreignKeyIndexConvention);
            result.ModelBuiltConventions.Remove(foreignKeyIndexConvention);
            result.IndexAddedConventions.Remove(foreignKeyIndexConvention);
            result.IndexRemovedConventions.Remove(foreignKeyIndexConvention);
            result.IndexUniquenessChangedConventions.Remove(foreignKeyIndexConvention);

            return result;
        }
    }
...
Рейтинг: 0 / 0
How to stop EF Core from indexing all foreign keys
    #39798095
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

пока нет пользовательских соглашений, это вроде как ещё планируется.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / How to stop EF Core from indexing all foreign keys
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]