Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 27075|Ответ: 0

[Источник] EF Core Series 2 инкапсулирует OnModelCreating, создает индексы с помощью отражений и многое другое

[Скопировать ссылку]
Опубликовано 22.09.2020 10:57:19 | | | |
Индексирование — распространённая концепция для нескольких хранилищ данных. Хотя их реализация в хранилище данных может различаться, они также могут использоваться для поиска по столбцам (или набору столбцов) для повышения эффективности.

Вход по гиперссылке виден.

Что нужно знать:

.net/c# использует преимущества метода динамического выполнения отражения
https://www.itsvse.com/thread-4771-1-1.html

Отражение C# получает имя отражания свойства объекта
https://www.itsvse.com/thread-3219-1-1.html

В Entity Framework 6 можно добавлять индексы, добавляя атрибуты в поля, но в ef core нельзя использовать атрибуты для добавления индексов в поля таблицы, поэтому нужно переписывать метод OnModelCreating и записывать соответствующие правила по одному.

В этом методе необходимо писать разные таблицы, что сложно поддерживать, а читаемость слишком низкая, поэтому мы записываем индекс каждой таблицы в нашем собственном методе для облегчения обновлений и поиска.

Используется ядро EFКод ФристСхема создаёт структуру таблицы.

Во-первых, создайте новый интерфейс IOnModelCreate, код которого выглядит следующим образом:

Мы определяем объект внизу класса разных таблиц и наследуем интерфейс, например:

Код установки аккаунта:
EmailSentHistoryУстановка кода:

В вашем собственном контекстном объекте DbContext перепишите метод OnModelCreating, используйте метод отражения и затем выполните метод OnModelCreating для создания индексов, отношений, седа данных и т.д.

Метод OnModelCreation выглядит следующим образом:



Выполните команду Create Migration, чтобы сгенерировать следующий код:



Discovery, индексы можно успешно создавать с помощью методов отражения и т.д.

(Конец)





Предыдущий:.NET Core реализует распределённый принцип блокировки на основе Redis
Следующий:ASP.NET Core (1) использует кэширование Redis
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com