Etiqueta:  Entity Framework

Cómo ordenar por columnas una tabla paginada en ASP.NET MVC

En el anterior Post de este Blog Cómo desarrollar un filtro de búsqueda por texto en ASP.NET MVC, vimos como integrar un filtro de búsqueda por texto, en una tabla de consulta de registros con paginación basada en ASP.NET MVC.

En esta ocasión, y para extender el ejemplo del Post anterior, veremos como añadir la funcionalidad de ordenar por columnas a una tabla paginada, completando así las tres funcionalidades mas habituales en la consulta de registros: paginación, búsqueda y ordenación. 

Continuar leyendo ...

Entity Framework 6 y Sql Server Compact CE en ASP.NET MVC 5

Seguramente en ciertas ocasiones, nos hemos visto en la necesidad de desarrollar una aplicación con acceso a datos, y por las razones que fueran, no hemos podido disponer de un servidor de bases de datos real sobre el cual trabajar durante el proceso de desarrollo.

Para este tipo de eventualidades, la base de datos Sql Server Compact CE en conjunción con el ORM Entity Framework, nos proporciona una forma muy sencilla de implementar un sistema de persistencia integrado en el proyecto (App_Data) totalmente operativo, ligero, compacto y funcional.

En este Post, veremos como implementar una Base de Datos Sql Server Compact 4.0 gestionada a través de Entity Framework 6, en un proyecto ASP.NET MVC 5.

Continuar leyendo ...

Entity Framework Core y SqLite in-memory en ASP.NET Core

Seguramente en ciertas ocasiones, nos hemos visto en la necesidad de desarrollar una aplicación con acceso a datos, y por las razones que fueran, no hemos podido disponer de una Base de Datos real sobre la cual trabajar durante el proceso de desarrollo.

Para este tipo de eventualidades, el ORM Entity Framework Core, nos proporciona una forma muy sencilla de implementar un sistema de persistencia en memoria (in-memory) totalmente operativo, funcional y ligero, basado en el motor de Bases de Datos relacionales SqLite.

Continuar leyendo ...

Pruebas unitarias en Entity Framework Core - SqLite in-memory

Sin duda, uno de los puntos más críticos y susceptibles a errores en el desarrollo de aplicaciones web es el acceso a datos. Es por esto que realizar unas pruebas unitarias sólidas y robustas que aseguren una correcta interacción con la base de datos, es una muy buena práctica.

Antes de la salida de la versión Core, Entity Framework nos permitía utilizar el contexto de datos para simular de una manera bastante simplista una base de datos sobre la que realizar las pruebas unitarias de nuestros servicios de acceso a datos. Afortunadamente nuevo el núcleo de Entity Framework Core, nos proporciona una forma de realizar pruebas unitarias sobre una base de datos en memoria, simulando así un escenario lo más parecido posible al que nos proporcionaría una base de datos real.

En este Post veremos cómo crear un contexto de datos (DbContext) enlazado a una base de datos SqLite in-memory, que nos permitirá realizar las pruebas unitarias oportunas sobre un servicio estándar de acceso a datos (CRUD).

Continuar leyendo ...

Entity Framework Core Database First en aplicaciones .NET MVC

Si tuviéramos que desarrollar una nueva aplicación Web que utilice las últimas tecnologías ASP.NET de Microsoft, seguramente la gran mayoría de desarrolladores nos decantaríamos por .NET Core MVC y Entity Framework Core como ORM (Object-Relational Mapper). Como ya sabemos el ORM es el encargado de 'mapear' las clases del Modelo MVC con las entidades de la base de datos (tablas).

Pero, que ocurriría si nuestra aplicación .NET Core tuviera que trabajar con una base de datos ya existente y posiblemente con datos. Para estos casos, Entity Framework Core nos provee de un sistema de 'ingeniería inversa' (Database First) para generar de manera automática todas las clases del Modelo desde el esquema de una base de datos, así como construir el 'andamiaje' interno (Scaffold) para trabajar con ella.

Continuar leyendo ...


Utilizamos cookies propias y de terceros para mejorar nuestros servicios y ofrecerle una mejor experiencia de navegación. Si continúa navegando consideramos que acepta su uso. Más información   Acepto