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.

Relación en Entity Framework 6.0


Crear una entidad "Producto" y "Categoria.
Crear una relacion de muchos a 1. (* a 1)





Relación entre Producto y Categoria.

Generar la base de datos a partir del modelo


Ejecutar el siguiente script


Tablas creadas en la base de datos



Agregar una Categoria y un Producto en la base de datos