martes, 11 de noviembre de 2014

Reporte RDLC - Visual Studio 2013

Iniciamos una aplicacacion de escritorio.



 Desde la barra de herramientas agregamos "ReportView" al  formulario

Modificamos la propiedad Dock del control.

Creamos una clase con las siguientes propiedades.


Creamos un reporte en el proyecto



Agregamos una fuente de datos



Seleccionamos apartir de un objeto

Seleccionamos la clase "Result" previo a compilar el proyecto para que genere la libreria.

Agregamos una tabla al reporte desde la bara de herramienta


Seleccionamos las siguientes propiedades


Seleccionamos en la tabla los dos campos a mostrar. Id y Nombre.

Seteamos el reporte al control desde el formulario


Una vez seteado nos genera automaticamnete un control bindingSource

Fuente final



Resultado


viernes, 3 de octubre de 2014

Glosario Entity Framework

TérminoDefinición
Code FirstCrear un modelo de Entity Framework con código. El modelo puede destinarse a la base de datos existente o a una nueva.
ContextoUna clase que representa una sesión con la base de datos, que le permite consultar y guardar datos. Un contexto se deriva de la clase DbContext o ObjectContext.
Convención (Code First)Una regla que Entity Framework usa para deducir la forma del modelo de las clases.
Database FirstCrear un modelo de Entity Framework, mediante EF Designer, que se destina a una base de datos existente.
Carga diligentePatrón de carga de datos relacionados en el que una consulta para un tipo de entidad también carga las entidades relacionadas como parte de la consulta.
EF DesignerDiseñador visual de Visual Studio que permite crear un modelo de Entity Framework con cuadros y líneas.
EntityClase u objeto que representa los datos de la aplicación, como los clientes, los productos y los pedidos.
Entity Data ModelModelo que describe las entidades y las relaciones entre ellas.
Carga explícitaPatrón de carga de datos relacionados donde los objetos relacionados se cargan llamando a una API.
API fluidaLa API que se puede usar para configurar un modelo de Code First.
Asociación de clave externaAsociación entre las entidades donde una propiedad que representa la clave externa se incluye en la clase de la entidad dependiente (es decir, el producto contiene una propiedad CategoryId).
Relación de identificaciónRelación donde la clave principal de la entidad de seguridad también forma parte de la clave principal de la entidad dependiente. En este tipo de relación, la entidad dependiente no puede existir sin la entidad de seguridad.
Asociación independienteAsociación entre las entidades donde no hay una propiedad que representa la clave externa se incluye en la clase de la entidad dependiente (es decir, la clase Product contiene una relación con Category pero ninguna propiedad CategoryId). Entity Framework usará un objeto independiente para seguir esta relación.
Carga diferidaModelo de carga de datos relacionados en el que los objetos relacionados se cargan automáticamente cuando se tiene acceso a una propiedad de navegación.
Model FirstCrear un modelo Entity Framework, con EF Designer, que luego se usa para crear una base de datos nueva.
Propiedad de navegaciónPropiedad de una entidad que hace referencia a otra entidad (es decir, Product que contiene una propiedad de navegación Category y Category que contiene una propiedad de navegación Products).
Extremo opuesto de una relaciónExtremo opuesto de una relación, por ejemplo, product.Category y category.Product.
Entidad de autoseguimientoEntidad compilada a partir de una plantilla de generación de código que ayuda en el desarrollo de n niveles.
Herencia de tabla por tipo concreto (TPC)Método para asignar la herencia donde cada tipo de no resumen de la jerarquía se asigna a una tabla independiente en la base de datos.
Tabla por jerarquía (TPH)Método para asignar la herencia donde todos los tipos de la jerarquía se asignan a la misma tabla en la base de datos. Una columna del discriminador se usa para identificar a qué tipo se asocia cada fila.
Tabla por tipo (TPT)Método para asignar la herencia donde las propiedades comunes de todos los tipos de la jerarquía se asignan a la misma tabla de la base de datos pero las propiedades únicas para cada tipo se asignan a una tabla independiente.
Detección de tiposProceso de identificación de los tipos que deben formar parte de un modelo de Entity Framework.

martes, 16 de septiembre de 2014

Code First - Visual Studio 2013 Part 2


Agregamos una nueva entidad llamada Post.
Como propiedades tendrá una referencia a Blog (BlogId) y Blog que se utilizara como navegación.


Para agregar una nueva entrada al Blog.


Salida en la consola

Para agregar un post al Blog que agregamos.
Llenamos en la propiedad Blog a la primera entidad por defecto que tenemos en el ejemplo. (Propiedad FirstOrDefault)


Vemos en la siguiente imagen la entidad Blog en la base de datos


Vemos en la siguiente imagen la entidad Post en la base de datos, donde un blog acepta mas de una entrada para un Blog especifico. En este caso la relación es de 1 a * (Un blog tiene muchos Post)

martes, 9 de septiembre de 2014

Code First - Visual Studio 2013 Part 1


Creación de un proyecto de consola con Visual Studio 2013.


Agregamos al proyecto el framework de entity framework (versión 6.1.1)




En el proyecto automáticamente se agrega la referencia de entityframework.




Creamos una clase blog con dos propiedades publicas
Creamos una clase de contexto que hereda de dbcontext
Utilizamos en nuestro programa de la siguiente forma.


Una vez ejecutado la solución. Agregamos una conexión a la base de datos creada.



Code First automáticamente genero la base de datos, con su tabla "Blogs",  y a su vez crea una tabla llamada _MigrationHistory que su intención es guardar todos las cambios que realizamos en la base de datos.

En la consola de paquetes ejecutamos el siguiente comando:
Enable-Migrations

Luego de ejecutado el comando, nos crea por defecto la base de datos que hasta el momento tenemos como "Initial"


Luego si agregamos un campo a la clase Blog, como ser Url.
Ejecutamos el siguiente comando Add-Migration para crear una clase con los cambios, llamado "AddBlogUrl"



Una vez ejecutado el comando, podemos ver que crea una clase donde tiene el cambio que realizamos



Actualizamos contra la base de datos, con el siguiente comando:

Update-Database


Por ultimo vemos que la tabla Blogs se agrego el campo "Url"

Vemos también que en la tabla _MigrationHistory guarda cada uno de los cambios asociados a nuestro proyecto.

jueves, 28 de agosto de 2014

Singleton - EntityFramework 6.0

Modelo de entityframework 6.0 como singleton

Crear una partial class ModeloContainer.
Crear un método statico llamado instancia



 Dejar al constructor como privado

Utilizar el singleton del modelo.




Capas MVC con Visual Studio 2013

El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de arquitectura de sofware se basa en las ideas de reutilizacion de código y la sepación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

Crear un proyecto llamado MVC, con un proyecto de tipo windows form aplication llamado Vista.
A partir de la siguiente solución, crear un nuevo proyecto:


El proyecto agregar es de tipo libreria de clases


Luego agregar un nuevo proyecto


 El proyecto agregar es de tipo libreria de clases


 Setar como inicio de proyecto a la vista


En el proyecto Modelo utilizamos entityframwork 



En el proyecto de la vista agregar la cadena de conexión:

 Agregar una referencia en la controladora


El proyecto agregar es el  modelo 

En la clase PersonaControladora, cuando queremos utilizar los métodos de entityframework no es posible acceder

Agregar una referencia en el proyecto controladora


Seleccionar desde el directorio packages del proyecto la libreria EntityFramework.dll


Una vez agregada la libreria, es posible acceder a los métodos.

Clase PersonaControladra con todas los métodos necesarios.


En el proyecto Vista agregar una nueva referencia


Agregar desde el proyecto, los proyectos Controladora y Modelo.


En la vista, ejemplo de utilizar la controlara. Agregar una persona y obtener la coleccion de personas.


Entityframework al momento de instanciar el contexto nos da el siguiente error:


  Crear una instancia de sqlproviderservices para solucionar el error.