Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 27075|Відповідь: 0

[Джерело] EF Core Series 2 інкапсулює OnModelCreating, створює індекси за допомогою відображень та інше

[Копіювати посилання]
Опубліковано 2020-9-22 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 перепишіть метод OnModelCreationing, використайте метод рефлексії і виконайте метод OnModelCreating для створення індексів, зв'язків, посіву даних тощо.

Метод OnModelCreation виглядає так:



Виконайте команду Create Migration, щоб згенерувати наступний код:



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

(Кінець)





Попередній:.NET Core реалізує розподілений принцип блокування на основі Redis
Наступний:ASP.NET Core (1) використовує кешування Redis
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com