Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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# отражението получава displayname на свойството на обекта
https://www.itsvse.com/thread-3219-1-1.html

В Entity Framework 6 можете да добавяте индекси чрез добавяне на атрибути към полета, но в EF core не можете да използвате атрибути за добавяне на индекси към полета в таблиците, затова трябва да пренапишете метода OnModelCreating и да напишете съответните правила едно по едно в него.

С този метод трябва да се пишат различни таблици, което не е лесно за поддържане и четимостта е твърде слаба, затова записваме индекса на всяка таблица по наш собствен метод, за да улесним актуализации и търсения.

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

Първо, създайте нов интерфейс на IOnModelCreate, кодът е следният:

Дефинираме обект в долната част на класа на различни таблици и наследяваме интерфейса, например:

Код за настройка на акаунт:
ИмейлИзпратенаИсторияКод за настройка:

В собствения си контекстен обект DbContext, пренапишете метода OnModelCreation, използвайте метода reflection и изпълнете метода OnModelCreating от своя страна, за да създадете индекси, връзки, seeding на данни и т.н.

Методът OnModelCreating е следният:



Изпълнете командата Create Migration, за да генерирате следния код:



Откриване, индекси могат успешно да се създават чрез методи за отражение и др.

(Край)





Предишен:.NET Core реализира разпределен принцип на заключване, базирано на Redis
Следващ:ASP.NET Core (1) използва кеширане на Redis
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com