Problema de rendimiento en Entity Framework: consultas completas de tabla durante uniones LINQ

Durante el desarrollo de una aplicación usando Entity Framework como ORM, se detectó un problema de rendimiento crítico al desplegarla. El sistema se volvía lento y los clientes experimentaban fallos de memoria. Al inspeccionar con SQL Server Profiler, se descubrieron consultas que escaneaban tablas completas (full table scans) en tablas con de ...

Publicado el 6-8 03:00

Introducción al Framework de WinForms para Sistemas de Permisos y Clase de Acceso a Datos Genérica

Introducción al Diseño del Framework El desarrollo de aplicaciones Windows Forms (WinForms) a menudo requiere una estructura robusta para gestionar la seguridad y los permisso de los usuarios. Este artículo introduce los fundamentos de un framwork diseñado para este propósito, enfocándose inicialmente en la configuración de la base de datos y u ...

Publicado el 6-7 05:18

Registrar consultas SQL de EntityFrameworkCore en la consola con Hangfire

Para visualizar las consultas SQL generadas por Entity Framework Core en la consola, se requiere configurar un ILoggerFactory. Este enfoque utiliza un proveedor de registro de consola. public static readonly ILoggerFactory DbConsoleLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); }); Después, registre esta instan ...

Publicado el 6-6 17:15

Optimización y Mantenimiento de Rendimiento en SQL Server

Análisis detallado de planes de ejecución Los planes de ejecución en SQL Server son esenciales para entender cómo se procesan las consultas y optimizar su rendimiento. A continuación se describen operaciones comunes y estrategias para gestionarlos. Eliminación de planes en caché Para liberar la memoria del caché de planes de ejecución, se puede ...

Publicado el 6-5 18:58

Implementación de SQL Server con Docker en Raspberry Pi Ubuntu

Azure SQL Edge ya no es compatible con la plataforma ARM64 y dejará de estar disponible el 30 de septiembre de 2025. La imagen mcr.microsoft.com/azure-sql-edge:latest es antigua (última actualización en julio de 2023). Su uso es exclusivamente para pruebas y aprendizaje. No se recomienda para entornos de prdoucción. Primero, actualizamos los r ...

Publicado el 6-2 05:19

Inserción individual y masiva de registros en SQL Server usando C#

Clase auxiliar de accceso a datos A continuación se presenta una clase genérica que encapsula las operaciones básicas de base de datos con ADO.NET y SQL Server. using System; using System.Data; using System.Data.SqlClient; using System.Text; namespace DataAccess.Helper { public class DataAccessHelper { private static readonl ...

Publicado el 6-1 21:33

Integración de Procedimientos Almacenados en Entity Framework Core

Entity Framework Core (EF Core) es un mapeador objeto-relacional (ORM) ampliamente utilizado que simplifica la interacción con bases de datos relacionales al permitir a los desarrolladores trabajar con objetos C# en lugar de consultas SQL directas. Sin embargo, en ciertos escenarios, el uso de procedimientos almacenados puede ser preferible o i ...

Publicado el 6-1 09:36

Anotaciones de Datos en Code First: Índices y Relaciones

using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace EjemploIndices { public class Entrada { public int Identificador { get; set; } public string Titulo { get; set; } [Index("IndiceCalificacion")] public int BlogId { get; set; } } ...

Publicado el 5-31 22:01