Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 27075|Respuesta: 0

[Fuente] EF Core Series 2 encapsula OnModelCreating, crea índices usando reflexiones y más

[Copiar enlace]
Publicado el 22-9-2020 10:57:19 | | | |
La indexación es un concepto común en múltiples almacenes de datos. Aunque su implementación en un almacén de datos puede variar, también pueden usarse para consultas basadas en columnas (o un conjunto de columnas) para ser más eficientes.

El inicio de sesión del hipervínculo es visible.

Qué debes saber:

.net/c# aprovecha el método de ejecución dinámica de reflexión
https://www.itsvse.com/thread-4771-1-1.html

La reflexión en C# obtiene el nombre de visualización de la propiedad del objeto
https://www.itsvse.com/thread-3219-1-1.html

En Entity Framework 6, puedes añadir índices añadiendo atributos a los campos, pero en ef core no puedes usar atributos para añadir índices a campos de tabla, así que debes reescribir el método OnModelCreating y escribir las reglas correspondientes una por una en él.

En este método es necesario escribir diferentes tablas, que no es fácil de mantener y la legibilidad es demasiado pobre, por lo que escribimos el índice de cada tabla con nuestro propio método para facilitar actualizaciones y búsquedas.

Se utiliza núcleo EFCódigo FRISTSchema crea una estructura de tablas.

Primero, crea una nueva interfaz IOnModelCreate, cuyo código es el siguiente:

Definimos un objeto en la parte inferior de la clase de clases de diferentes tablas y heredamos la interfaz, por ejemplo:

Código de configuración de cuentas:
Código de configuración de EmailSentHistory:

En tu propio objeto DbContext, reescribe el método OnModelCreing, usa el método de reflexión y ejecuta el método OnModelCreating a su vez para crear índices, relaciones, semilla de datos, etc.

El método OnModelCreating es el siguiente:



Ejecuta el comando Create Migration para generar el siguiente código:



El descubrimiento, los índices pueden crearse con éxito mediante métodos de reflexión, etc.

(Fin)





Anterior:.NET Core implementa análisis de principios de bloqueo distribuido basado en Redis
Próximo:ASP.NET Core (1) utiliza caché Redis
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com