Arquitectura de Entity Framework mapeando entidades de C# a tablas SQL
← RECURSOS

Acceso a Datos y Operaciones CRUD con Entity Framework Core

Mapeo objeto-relacional (ORM) en .NET: DbContext, consultas LINQ, migraciones de esquema y operaciones CRUD con Entity Framework Core.

📌 En síntesis: Mapeo objeto-relacional (ORM) en .NET: DbContext, consultas LINQ, migraciones de esquema y operaciones CRUD con Entity Framework Core.

Guía técnica desarrollada por el equipo de Proyecto Luna para formación profesional y consulta técnica abierta.


En el desarrollo de aplicaciones de escritorio modernas, la gestión de información persistente constituye un aspecto fundamental para la resolución de problemas de mediana complejidad. A diferencia de aplicaciones simples que solo procesan datos en memoria, los sistemas reales requieren almacenar información de forma permanente, permitiendo su recuperación, modificación y eliminación a lo largo del tiempo. Esta necesidad implica integrar la interfaz gráfica con una base de datos que respalde el funcionamiento de la aplicación. En el ecosistema .NET, Entity Framework se presenta como una herramienta clave para facilitar esta integración. Entity Framework es un Object Relational Mapper (ORM) que permite trabajar con bases de datos relacionales utilizando clases del lenguaje C#. Mediante este enfoque, las tablas de la base de datos se representan como entidades, y cada registro corresponde a una instancia de una clase, lo que favorece el uso de la programación orientada a objetos y reduce la dependencia directa de sentencias SQL. Por su parte, SQL Server es un sistema de gestión de bases de datos relacional ampliamente utilizado en entornos académicos y profesionales. Su integración nativa con .NET permite desarrollar aplicaciones seguras, eficientes y escalables. La combinación de SQL Server, Entity Framework y aplicaciones WPF posibilita la construcción de soluciones completas, donde la interacción del usuario a través de la interfaz gráfica se traduce en operaciones concretas sobre los datos, fortaleciendo la capacidad de resolver problemas de mediana complejidad de manera estructurada y coherente. Finalmente, la integración de estas tecnologías en aplicaciones WPF permite construir interfaces gráficas intuitivas y reactivas, donde los datos pueden ser visualizados y manipulados de manera eficiente. La vinculación de datos (data binding) propia de WPF, combinada con Entity Framework, facilita la sincronización entre la interfaz y la base de datos,


🚀 Introducción

mejorando la experiencia del usuario y reduciendo la complejidad del código. En conjunto, este enfoque tecnológico constituye una base sólida para el desarrollo de aplicaciones de escritorio modernas, orientadas a la resolución de problemas de mediana complejidad con criterios de calidad, orden y sostenibilidad en el tiempo.

Entity Framework es una tecnología de acceso a datos que forma parte del ecosistema .NET y que permite interactuar con bases de datos relacionales mediante objetos y clases en C#. En lugar de manipular directamente tablas y consultas SQL, el desarrollador trabaja con entidades que representan la estructura de la base de datos, manteniendo una mayor coherencia con los principios de la programación orientada a objetos. (Microsoft, 2024) Este enfoque facilita la comprensión del código y mejora su mantenibilidad, ya que las operaciones sobre los datos se realizan a través de métodos y propiedades de clases bien definidas. En aplicaciones WPF, Entity Framework actúa como un intermediario entre la interfaz gráfica y la base de datos, permitiendo que las acciones del usuario se reflejen de forma directa y controlada en la información almacenada. Además, el uso de Entity Framework reduce la probabilidad de errores asociados a consultas mal construidas y favorece el desarrollo de aplicaciones más robustas, donde la lógica de negocio se encuentra claramente separada del acceso a datos.

🔹 Integración de Entity Framework con SQL Server

La integración de Entity Framework con SQL Server permite que una aplicación WPF desarrollada en .NET se comunique con una base de datos relacional de forma eficiente, segura y estructurada. SQL Server cumple un rol fundamental dentro de los proyectos .NET, ya que actúa como el repositorio central de la información del sistema, garantizando la persistencia, integridad y disponibilidad de los datos utilizados por la aplicación. A través de esta integración, las tablas de la base de datos se representan como entidades dentro de la aplicación, mientras que un contexto de datos se encarga de administrar la conexión, el seguimiento de cambios y la


⚙️ Bases de datos con Entity Framework

ejecución de las operaciones sobre la información. Este enfoque permite que el desarrollador trabaje principalmente con clases y objetos en C#, dejando en manos del framework la generación y ejecución de las instrucciones necesarias para interactuar con SQL Server. Un aspecto clave de esta integración es el uso de migraciones de Entity Framework, las cuales permiten crear y actualizar la estructura de la base de datos a partir de las clases definidas en la aplicación. Mediante este mecanismo, el desarrollador puede generar automáticamente tablas y relaciones sin necesidad de escribir manualmente las sentencias SQL, asegurando que el modelo de datos en C# se mantenga sincronizado con la base de datos en SQL Server. En el caso práctico desarrollado, la base de datos fue creada inicialmente y las tablas se generaron automáticamente a través del proceso de migración. La importancia de SQL Server en proyectos .NET radica en su amplia adopción en entornos profesionales y empresariales, donde se utiliza para soportar sistemas reales como aplicaciones de gestión académica, plataformas de ventas, sistemas de inventario, control de clientes y administración de usuarios. En estos escenarios, SQL Server proporciona mecanismos de seguridad, respaldo y control de transacciones que resultan esenciales para el funcionamiento confiable de las aplicaciones. Asimismo, la combinación de SQL Server con Entity Framework y el uso de migraciones facilitan el mantenimiento y la evolución de los sistemas, ya que los cambios en la estructura de las clases pueden reflejarse directamente en la base de datos sin necesidad de reescribir grandes volúmenes de código. Esta capacidad resulta especialmente relevante en aplicaciones de mediana complejidad, donde los requerimientos suelen evolucionar con el tiempo y es necesario adaptar el sistema a nuevas necesidades del entorno real.


⚙️ Operaciones CRUD con Entity Framework

Las operaciones CRUD (Create, Read, Update y Delete) constituyen el conjunto de acciones fundamentales para la gestión de información en una base de datos relacional. En el contexto de aplicaciones WPF desarrolladas con el lenguaje C#, estas operaciones permiten que la información ingresada, consultada o modificada desde la interfaz gráfica se refleje de manera directa y persistente en una base de datos SQL Server. (Microsoft, 2025) Entity Framework facilita la implementación de estas operaciones mediante métodos específicos que permiten insertar, buscar, modificar y eliminar registros utilizando clases y objetos en lugar de sentencias SQL explícitas. Este enfoque reduce la complejidad del código, mejora su legibilidad y favorece la aplicación de principios de la programación orientada a objetos, lo que resulta especialmente relevante al abordar problemas de mediana complejidad. En aplicaciones WPF, las operaciones CRUD suelen ejecutarse como respuesta a eventos generados por el usuario, tales como el clic de un botón, la selección de un registro o la confirmación de una acción. De este modo, la interfaz gráfica actúa como el punto de interacción, mientras que Entity Framework se encarga de gestionar la comunicación con la base de datos, asegurando la coherencia y consistencia de la información. La correcta implementación de las operaciones CRUD permite que una aplicación evolucione desde un sistema estático hacia una solución funcional y dinámica, capaz de administrar información real de manera estructurada y coherente. Por esta razón, el dominio de estas operaciones representa un paso clave en la formación del estudiante y en el desarrollo de aplicaciones de escritorio completas dentro del ecosistema .NET.

🔹 Guardar información

Guardar información en una base de datos significa agregar un nuevo

registro, lo que en SQL Server se realiza mediante la instrucción INSERT. En este evento, esta operación se implementa utilizando Entity Framework, sin escribir sentencias SQL directamente. Desde la interfaz gráfica WPF, el usuario ingresa los datos del cliente (nombre, correo y teléfono) en los TextBox. Al presionar el botón Guardar, la aplicación crea un objeto de tipo Cliente y asigna a sus propiedades los valores ingresados por el usuario. Luego, este objeto se agrega al contexto de datos mediante el método Add(). Finalmente, al ejecutar SaveChanges(), Entity Framework se encarga automáticamente de generar y ejecutar la instrucción INSERT en SQL Server. De esta manera, el registro queda almacenado de forma permanente en la base de datos, facilitando el ingreso de nuevos clientes al sistema.

🔹 Buscar información

Buscar información en una base de datos corresponde a la instrucción SELECT en SQL Server, la cual permite obtener registros almacenados en una tabla. En el proyecto desarrollado, esta operación se realiza utilizando Entity Framework y se refleja principalmente en la carga de datos dentro del DataGrid. Al iniciar la aplicación, o después de realizar una operación como guardar, modificar o eliminar, se ejecuta el método CargarClientes(). Este método utiliza ToList() para obtener todos los clientes almacenados en la base de datos y mostrarlos en el DataGrid. Además, cuando el usuario selecciona una fila del DataGrid, la aplicación recupera automáticamente los datos del cliente seleccionado y los muestra en los TextBox. Esto permite visualizar la información y prepararla para futuras acciones, como modificar o eliminar registros.

🔹 Modificar información

Modificar información en una base de datos equivale a la instrucción UPDATE en SQL Server, la cual permite cambiar los datos de un registro existente. En Entity Framework, esta operación se realiza de forma automática cuando se modifican los valores de una entidad que ya fue cargada desde la base de datos. En la aplicación, el usuario selecciona un cliente desde el DataGrid. Al hacerlo, los datos del cliente se cargan en los TextBox. Luego, el usuario puede cambiar el nombre, correo o teléfono y presionar el botón Modificar. Al ejecutar SaveChanges(), Entity Framework detecta que los datos del objeto Cliente han cambiado y genera internamente la instrucción UPDATE correspondiente en SQL Server. De esta forma, la información se actualiza tanto en la base de datos como en la interfaz gráfica.

🔹 Eliminar información

Eliminar información en una base de datos corresponde a la instrucción DELETE en SQL Server, la cual permite borrar un registro de una tabla. En el proyecto, esta operación se implementa utilizando Entity Framework a través del método Remove(). Para eliminar un cliente, el usuario debe seleccionar una fila del DataGrid y presionar el botón Eliminar. Antes de realizar la acción, la aplicación muestra un mensaje de confirmación para evitar eliminaciones accidentales. Si el usuario confirma, el cliente seleccionado se marca para eliminación. Finalmente, al ejecutar SaveChanges(), Entity Framework genera y ejecuta la instrucción DELETE en SQL Server, eliminando el registro de forma definitiva. Esta operación permite mantener la información actualizada y eliminar datos que ya no son necesarios dentro del sistema.


⚙️ Entity Framework y resolución de problemas

La aplicación de Entity Framework en conjunto con interfaces gráficas desarrolladas en WPF permite abordar problemas de mediana complejidad mediante soluciones prácticas y funcionales. En este contexto, los conceptos revisados se materializan en un caso práctico, donde la aplicación integra la interacción del usuario con una base de datos SQL Server, permitiendo gestionar información de forma persistente y estructurada. (Microsoft, 2025) En un escenario práctico, la aplicación WPF actúa como el punto de contacto entre el usuario y el sistema, proporcionando formularios y controles gráficos para el ingreso, consulta y gestión de datos. Cada acción realizada desde la interfaz, como guardar, buscar, modificar o eliminar información, genera eventos que son procesados por la lógica en C#, la cual utiliza Entity Framework para ejecutar las operaciones correspondientes sobre la base de datos. A continuación, se desarrollará un ejemplo práctico que permitirá aplicar los conceptos revisados a lo largo de este apartado. En dicho ejemplo se integrará una aplicación WPF con Entity Framework y una base de datos SQL Server, implementando operaciones de agregado, búsqueda, modificación y eliminación de información. Este ejercicio tiene como propósito evidenciar, de forma concreta, cómo la interfaz gráfica, la lógica de programación en C# y el acceso a datos trabajan de manera conjunta para resolver un problema de mediana complejidad en un contexto cercano a situaciones reales de desarrollo de software. Empezaremos creando una aplicación de tipo WPF, definiendo tanto el nombre del proyecto como el nombre de la solución. Esta configuración inicial es importante, ya que permite organizar correctamente la estructura del sistema y facilitar su identificación dentro del entorno de desarrollo. En este caso, se utilizará un nombre representativo que refleje la funcionalidad de la aplicación a desarrollar.

Una vez creado el proyecto, Visual Studio carga automáticamente el entorno de desarrollo y muestra la estructura básica de una aplicación WPF. En esta etapa inicial, el sistema aún no cuenta con funcionalidades adicionales ni con soporte para bases de datos, por lo que será necesario incorporar los componentes requeridos para el acceso a datos.

Imagen 1. Configuración del nombre del proyecto y de la solución en Visual Studio Imagen 1. Configuración del nombre del proyecto y de la solución en Visual Studio (Fuente: Elaboración propia a partir de Visual Studio 2026 Community)

Imagen 2. Vista inicial del proyecto WPF recién creado en Visual Studio Imagen 2. Vista inicial del proyecto WPF recién creado en Visual Studio (Fuente: Elaboración propia a partir de Visual Studio 2026 Community)

Para integrar Entity Framework al proyecto, es necesario acceder al Administrador de paquetes NuGet, herramienta que permite instalar bibliotecas y extensiones externas dentro de una solución .NET. Esta herramienta se encuentra en la parte superior del entorno de Visual Studio, dentro del menú Herramientas. Al abrir el Administrador de paquetes NuGet, se puede observar que el proyecto no posee aún paquetes instalados relacionados con acceso a bases de datos. Por esta razón, se debe utilizar la opción Examinar, la cual permite buscar nuevos paquetes disponibles en el repositorio oficial de NuGet.

Imagen 3. Acceso al Administrador de paquetes NuGet desde el menú Imagen 3. Acceso al Administrador de paquetes NuGet desde el menú

Herramientas de Visual Studio Fuente: Elaboración propia a partir de Visual Studio 2026 Community

Imagen 4. Administrador de paquetes NuGet sin paquetes instalados en el proyecto Imagen 4. Administrador de paquetes NuGet sin paquetes instalados en el proyecto (Fuente: Elaboración propia a partir de Visual Studio 2026 Community)

En el apartado de búsqueda se debe ingresar el término EntityFramework, seleccionando específicamente la versión correspondiente a Entity Framework clásico (EF 6.x). Esta versión es la adecuada para proyectos WPF basados en .NET Framework y permite trabajar con bases de datos SQL Server mediante un enfoque ORM. Una vez seleccionado el paquete, se procede a instalarlo en el proyecto. Durante el proceso de instalación, Visual Studio solicitará la aceptación de los términos de licencia correspondientes al paquete y a sus dependencias. Esta aceptación es necesaria para completar la instalación y habilitar el uso de Entity Framework dentro del proyecto.

Imagen 5. Búsqueda y selección del paquete EntityFramework desde NuGet Imagen 5. Búsqueda y selección del paquete EntityFramework desde NuGet (Fuente: Elaboración propia a partir de Visual Studio 2026 Community)

Imagen 6. Aplicación de cambios para la instalación de Entity Framework Imagen 6. Aplicación de cambios para la instalación de Entity Framework (Fuente: Elaboración propia a partir de Visual Studio 2026 Community)

Una vez finalizado el proceso, el paquete queda correctamente instalado en el proyecto, junto con sus dependencias necesarias para la conexión con SQL Server. A partir de este momento, la aplicación WPF cuenta con el soporte necesario para implementar acceso a datos mediante Entity Framework y comenzar el desarrollo de funcionalidades relacionadas con bases de datos. Una vez finalizado el proceso, el paquete queda correctamente instalado en el proyecto, junto con sus dependencias necesarias para la conexión con SQL Server. A partir de este momento, la aplicación WPF cuenta con el soporte necesario para implementar acceso a datos mediante Entity Framework y comenzar el desarrollo de funcionalidades relacionadas con bases de datos. Podemos verificar esto en el apartado de instalación de la herramienta NuGet.

Imagen 7. Aceptación de los términos de licencia para la instalación Imagen 7. Aceptación de los términos de licencia para la instalación

de Entity Framework Fuente: Elaboración propia a partir de Visual Studio 2026 Community

Para continuar con la configuración de la base de datos y habilitar el uso de operaciones CRUD dentro de la aplicación WPF, se utilizará la herramienta DBeaver, la cual permite administrar bases de datos relacionales a través de una interfaz gráfica. En este caso, DBeaver se empleará para establecer una conexión con el motor de base de datos SQL Server y ejecutar las sentencias SQL necesarias para la creación de la base de datos. Una vez iniciada la creación de la conexión, se debe seleccionar SQL Server como motor de base de datos. Esta selección permite configurar una conexión compatible con el sistema de gestión de bases de datos utilizado por la aplicación .NET.

Imagen 8. Entity Framework instalado correctamente en el proyecto WPF. Imagen 8. Entity Framework instalado correctamente en el proyecto WPF. (Fuente: Elaboración propia a partir de Visual Studio 2026 Community)

Imagen 9. Acceso a la opción de creación de una nueva conexión a Imagen 9. Acceso a la opción de creación de una nueva conexión a

base de datos en DBeaver Fuente: elaboración propia a partir de Dbeaver

Posteriormente, se deben ingresar los datos de conexión correspondientes al servidor. En este caso, el servidor se encuentra alojado de forma local (localhost), junto con el puerto de conexión y las credenciales del usuario configurado en SQL Server. Estos datos permiten establecer una comunicación directa entre DBeaver y el motor de base de datos.

Imagen 10. Selección del motor de base de datos SQL Server en DBeaver Imagen 10. Selección del motor de base de datos SQL Server en DBeaver (Fuente: elaboración propia a partir de Dbeaver)

Imagen 11. Configuración del host y credenciales para la conexión con SQL Server Imagen 11. Configuración del host y credenciales para la conexión con SQL Server (Fuente: elaboración propia a partir de Dbeaver)

Una vez creada la conexión, es necesario abrir un Script SQL asociado al servidor para poder escribir y ejecutar las sentencias SQL iniciales. En esta etapa, el uso del script se limita únicamente a la creación de la base de datos, ya que la definición de las tablas y su estructura será realizada posteriormente mediante el mecanismo de migraciones de Entity Framework. En el script SQL se ingresan las instrucciones necesarias para crear la base de datos que será utilizada por el sistema, la cual estará orientada a la gestión de clientes. De esta forma, se prepara el entorno de datos para que Entity Framework pueda encargarse de generar las tablas correspondientes a partir de las clases definidas en el proyecto. Código para DG: CREATE DATABASE GestionClientesDB; GO USE GestionClientesDB; GO

Imagen 12. Apertura de un nuevo Script SQL en el servidor SQL Server desde DBeaver Imagen 12. Apertura de un nuevo Script SQL en el servidor SQL Server desde DBeaver (Fuente: elaboración propia a partir de Dbeaver)

Imagen 13. Script SQL para la creación de la base de datos GestionClientesDB Imagen 13. Script SQL para la creación de la base de datos GestionClientesDB (Fuente: elaboración propia a partir de Dbeaver)

Estas sentencias crean la base de datos GestionClientesDB, la cual funcionará como repositorio de información para la aplicación WPF. La estructura de las tablas no se define en esta etapa, ya que será generada automáticamente por Entity Framework a través del uso de migraciones, garantizando la coherencia entre el modelo de datos en C# y la base de datos en SQL Server. Para continuar con el desarrollo de la aplicación, es necesario regresar al proyecto creado en Visual Studio. En esta etapa se definirá el modelo de datos, el cual permitirá representar, mediante clases en C#, la estructura de la base de datos creada previamente en SQL Server. En primer lugar, se debe hacer clic derecho sobre el proyecto GestionClientesWPF dentro del Explorador de soluciones y seleccionar la opción para crear una nueva carpeta. Tendremos que dar clic derecho y agregar la carpeta.

Imagen 14. Creación de una nueva carpeta dentro del proyecto GestionClientesWPF Imagen 14. Creación de una nueva carpeta dentro del proyecto GestionClientesWPF (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 15. Vista del Explorador de soluciones con la opción para agregar una nueva carpeta Imagen 15. Vista del Explorador de soluciones con la opción para agregar una nueva carpeta (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

La carpeta creada se denominará Models, siguiendo una convención ampliamente utilizada en aplicaciones .NET. En esta carpeta se almacenarán las clases que representan las entidades del sistema, es decir, los objetos que se relacionan directamente con las tablas de la base de datos. Una vez creada la carpeta Models, se debe proceder a agregar un nuevo archivo de tipo Clase. Para ello, se hará clic derecho sobre la carpeta y se selecciona la opción Agregar Clase. La clase creada deberá llamarse Cliente.cs, ya que representará a los clientes que serán registrados, consultados, modificados y eliminados dentro del sistema. Esta clase define la estructura del modelo de datos que será utilizada por Entity Framework para generar posteriormente la tabla Cliente en la base de datos SQL Server mediante el uso de migraciones, asegurando la correspondencia entre la clase en C# y la estructura de la base de datos.

Imagen 16. Carpeta Models creada para almacenar las clases del modelo de datos Imagen 16. Carpeta Models creada para almacenar las clases del modelo de datos (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 17. Agregar una nueva clase dentro de la carpeta Models Imagen 17. Agregar una nueva clase dentro de la carpeta Models (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Al crear el archivo, Visual Studio genera automáticamente la estructura básica de una clase en C#. Esta estructura inicial sirve como punto de partida para definir los atributos y configuraciones necesarias para la integración con Entity Framework.

Imagen 18. Creación de la clase Cliente.cs en el proyecto Imagen 18. Creación de la clase Cliente.cs en el proyecto (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 19. Estructura inicial de la clase Cliente.cs generada por Visual Studio Imagen 19. Estructura inicial de la clase Cliente.cs generada por Visual Studio (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Posteriormente, se deben definir los atributos de la clase que representarán las columnas de la tabla Cliente en la base de datos. Es fundamental que estos atributos sean públicos y cuenten con los métodos get y set, ya que Entity Framework utiliza estas propiedades para mapear correctamente la clase con la tabla correspondiente. En caso de que los atributos sean privados, la relación entre la clase y la base de datos no se realiza correctamente. Además, se utiliza la anotación [Key] para indicar la clave primaria de la entidad, reforzando la relación entre el modelo de datos y la estructura definida en SQL Server.

Imagen 20. Definición de los atributos de la clase Cliente para su Imagen 20. Definición de los atributos de la clase Cliente para su

integración con Entity Framework Fuente: elaboración propia a partir de Visual Studio 2026 Community

Esta clase constituye el modelo de datos del sistema y permite que Entity Framework actúe como un Object Relational Mapper (ORM), definiendo la estructura que será utilizada para generar la tabla Cliente en la base de datos SQL Server mediante el uso de migraciones. De este modo, la correspondencia entre la clase Cliente en la aplicación WPF y la estructura de la base de datos se mantiene de forma automática, permitiendo que la aplicación manipule la información de los clientes utilizando objetos en C#, sin necesidad de trabajar directamente con sentencias SQL. Una vez definido el modelo de datos, se procede a crear la capa de acceso a datos, la cual será responsable de establecer la conexión entre el proyecto desarrollado en Visual Studio y el motor de base de datos SQL Server. Código para DG: using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Text; namespace GestionClientesWPF.Models { public class Cliente { [Key] public int IdCliente { get; set; } public string Nombre { get; set; } public string Correo { get; set; } public string Telefono { get; set; } } }

Para ello, se crea una carpeta específica dentro del proyecto destinada a contener las clases que gestionan la comunicación con la base de datos a través de Entity Framework, favoreciendo una arquitectura más ordenada y mantenible. En primer lugar, se debe hacer clic derecho sobre el proyecto GestionClientesWPF y seleccionar la opción para crear una nueva carpeta, la cual se denominará Data. Una vez creada la carpeta Data, se debe agregar un nuevo archivo de tipo Clase, el cual contendrá la configuración necesaria para la conexión a la base de datos mediante Entity Framework.

Imagen 21. Creación de la carpeta Data dentro del proyecto GestionClientesWPF Imagen 21. Creación de la carpeta Data dentro del proyecto GestionClientesWPF (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 22. Opción para agregar una nueva clase dentro de la carpeta Data Imagen 22. Opción para agregar una nueva clase dentro de la carpeta Data (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

La clase creada deberá llamarse AppDbContext, ya que esta representará el contexto de la base de datos y será la encargada de administrar la conexión entre la aplicación WPF y SQL Server. Al finalizar este paso, la organización del proyecto debe reflejar claramente la separación entre el modelo de datos y la capa de acceso a datos, mejorando la estructura y mantenibilidad del sistema.

Imagen 23. Asignación del nombre AppDbContext a la clase creada Imagen 23. Asignación del nombre AppDbContext a la clase creada (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 24. Organización de carpetas y archivos del proyecto con las Imagen 24. Organización de carpetas y archivos del proyecto con las

carpetas Models y Data Fuente: elaboración propia a partir de Visual Studio 2026 Community

Una vez creada la clase AppDbContext, Visual Studio genera automáticamente una estructura básica de clase. Esta clase será modificada para heredar de DbContext, permitiendo a Entity Framework gestionar la conexión y las operaciones sobre la base de datos. Posteriormente, se debe programar el código que define el contexto de la base de datos. En este código se establece el uso de la cadena de conexión definida en el archivo de configuración y se declara el conjunto de entidades que representan las tablas de la base de datos. En este caso, se define un DbSet, el cual representa la tabla Cliente.

Imagen 25. Estructura inicial de la clase AppDbContext.cs Imagen 25. Estructura inicial de la clase AppDbContext.cs (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 26. Implementación del contexto de base de datos Imagen 26. Implementación del contexto de base de datos

AppDbContext con Entity Framework Fuente: elaboración propia a partir de Visual Studio 2026 Community

Esta clase permite que Entity Framework actúe como un ORM, gestionando la comunicación con SQL Server y traduciendo las operaciones realizadas en C# en instrucciones SQL ejecutables por la base de datos. Para completar la configuración de la conexión, es necesario definir la cadena de conexión que será utilizada por Entity Framework. Para ello, se debe agregar un nuevo elemento al proyecto GestionClientesWPF. Dentro del listado de elementos disponibles, se debe seleccionar el tipo Archivo de configuración de aplicaciones, el cual permitirá almacenar los parámetros de conexión a la base de datos. Código para DG: public class AppDbContext : DbContext { public AppDbContext(): base(“name=ConexionDB”) { } public DbSet Clientes { get; set; } }

Imagen 27. Opción para agregar un nuevo elemento al proyecto Imagen 27. Opción para agregar un nuevo elemento al proyecto (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

El archivo creado deberá llamarse App.config, ya que este archivo es utilizado por las aplicaciones WPF para centralizar configuraciones del sistema, como cadenas de conexión y otros parámetros de ejecución. Una vez agregado, el archivo App.config debe aparecer dentro de la estructura del proyecto, indicando que se encuentra listo para ser configurado.

Imagen 28. Selección del tipo de archivo de configuración de aplicaciones Imagen 28. Selección del tipo de archivo de configuración de aplicaciones (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 29. Creación del archivo App.config en el proyecto Imagen 29. Creación del archivo App.config en el proyecto (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Finalmente, se debe programar la cadena de conexión dentro del archivo App.config, indicando los datos del servidor SQL Server, el nombre de la base de datos y el proveedor de datos. Esta cadena de conexión será utilizada por la clase AppDbContext para establecer la comunicación con la base de datos. Código para DG:

Imagen 30. Archivo App.config creado y visible en el Explorador de soluciones Imagen 30. Archivo App.config creado y visible en el Explorador de soluciones (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Imagen 31. Definición de la cadena de conexión en el archivo App.config Imagen 31. Definición de la cadena de conexión en el archivo App.config (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Con esta configuración, la aplicación WPF queda correctamente preparada para conectarse a la base de datos GestionClientesDB mediante Entity Framework, permitiendo la ejecución de operaciones CRUD de forma estructurada y segura. Una vez configurados correctamente los componentes del proyecto, se procede a regresar a la ventana principal de la aplicación, correspondiente al archivo MainWindow.xaml, donde se programará el diseño de la interfaz gráfica que permitirá la interacción del usuario con el sistema. En este archivo se define la estructura visual de la aplicación utilizando el lenguaje XAML, el cual permite organizar los controles gráficos de manera declarativa. A continuación, se programa el diseño de la ventana principal, incorporando etiquetas, cuadros de texto, botones y una tabla para la visualización de datos.

Imagen 32. Vista inicial del archivo MainWindow.xaml en Visual Studio Imagen 32. Vista inicial del archivo MainWindow.xaml en Visual Studio (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

Código para DG:

Imagen 33. Definición del diseño de la interfaz gráfica en el archivo MainWindow.xaml Imagen 33. Definición del diseño de la interfaz gráfica en el archivo MainWindow.xaml (Fuente: elaboración propia a partir de Visual Studio 2026 Community)

<Grid.RowDefinitions> </Grid.RowDefinitions>

CONTINÚA EXPLORANDO

ARTÍCULOS SUGERIDOS

Dilema ético en la toma de decisiones tecnológicas e informáticasInformática

Actos Humanos, Libertad y Dilemas Éticos en la Tecnología

Análisis de decisiones éticas: actos del hombre vs actos humanos voluntarios, consentimiento, privacidad de datos y dilemas en algoritmos de IA.

Representación conceptual de la dignidad de la persona y la ética del trabajoInformática

Dignidad de la Persona, Ética de las Virtudes y Excelencia Profesional

La persona como centro de la actividad técnica: dignidad intrínseca, virtudes cardinales y búsqueda de la excelencia en el ejercicio del trabajo.

Representación simbólica de la balanza de la justicia y la éticaInformática

Fundamentos de la Ética: Moral, Leyes y Responsabilidad Social

Distinción conceptual entre ética y moral: el origen de las normas de convivencia, relación con el ordenamiento jurídico y responsabilidad ciudadana.

VER TODOS LOS RECURSOS →

HABLEMOS DE TU CASO

¿Necesitas ayuda? Contáctanos y te contestamos!

SERVICIOS →