ASP.NET 4                       Entity Framework ó Linq to SQLElaborado por : Naim Jhon Cruzado Paredes
¿Cómo Crear una capa de datos?Cual Usuarias Entity Framework ó LINQ to SQLUna de las cosas que más interés me ha generado ...
Visto esto os preguntareis: "Pues tiene buena pinta pero...¿qué diferencias existen entre LINQ to SQL y Entity Framework?"...
Visual Studio 2012          ASP.NET 4 “Entity Framework”JUL 11Continuando con los temas referentes a Entity Framework, les...
OJO AMIGOS, si de casualidad tu tienes visual studio 2012, tendrás que elegir el framework 4,esto para Post posteriores qu...
Muy simple…Descarga la base de datos: Archivo 1 Archivo 2 , en este caso podemos desarrollado desde unabase datos que se a...
Y damos clic en ¨Connect to Database¨                                            Escribimos el nombre de nuestro servidor,...
Agregamos el modelo y nos aparecerá el siguiente asistente                                                             Nex...
Seleccionamos la conexion que ya                                                          creamos anteriormente y el nombr...
Asi ya tenemos el modelo creado, automaticamente .NET nos creo clases con sus propiedades queevidentemente son las que ten...
Mostrar un menú con los tipos de productosPrimero que nada vamos a mostrar un menú que nos permitirá elegir que tipo de pr...
Y listo, en este data source vamos a tener acceso a la entidad tipo_producto y a los unicos doscampos que contiene, ahora ...
el valor de los campos de la entidad, en este caso id_tipo_producto y mostramos el tipo en elmismo enlace, si guardamos y ...
Debajo de este listview, vamos a agregar un control llamado Panel, pueden arrastrarlo yconfigurar desde la interfaz las pr...
Y nos vamos al CodeBehind default.aspx.cs y agregamos lo siguienteElaborado por : Naim Jhon Cruzado Paredes
Basicamente, como recuerdan, al dar clic en algun tipo de producto nos manda a la misma paginadefault.aspx pero con una va...
Próxima SlideShare
Cargando en…5
×

Entity Framework ó Linq SQL - Visual Studio 2012

18.948 visualizaciones

Publicado el

¿qué diferencias existen entre LINQ to SQL y Entity Framework?"
Aunque son casi lo mismo LINQ to SQL y EF han tenido vidas paralelas y, hoy en día, EF se ha impuesto de manera aplastante. La gran diferencia es que LINQ to SQL se creó con la finalidad de ser un RAD (Rapid Application Development) por lo que se dejaron alguna cosas en el tintero que

Publicado en: Educación
5 comentarios
12 recomendaciones
Estadísticas
Notas
Sin descargas
Visualizaciones
Visualizaciones totales
18.948
En SlideShare
0
De insertados
0
Número de insertados
11
Acciones
Compartido
0
Descargas
0
Comentarios
5
Recomendaciones
12
Insertados 0
No insertados

No hay notas en la diapositiva.

Entity Framework ó Linq SQL - Visual Studio 2012

  1. 1. ASP.NET 4 Entity Framework ó Linq to SQLElaborado por : Naim Jhon Cruzado Paredes
  2. 2. ¿Cómo Crear una capa de datos?Cual Usuarias Entity Framework ó LINQ to SQLUna de las cosas que más interés me ha generado durante mi vida como desarrollador es comoconseguir una buena capa de persistencia, consistente, flexible y transparente para el nivel deaplicación sin mezclar consultas sqls o crear manualmente clases que repiten funcionalidad ydatos.He trabajado con varias herramientas, desde las más rudimentarias clases estáticas con métodosque ejecutaban sql "a pelo" hasta clases generadas a mano que por debajo usaban una instanciade DataRow (que por cierto no es serializable y no se puede usar con servicios WCF); hasta que enel framework 4.0 de .NET se incluyó el Entity Framework (EF) y LINQ to Entities.Pero antes, un poco de historia:Ya en la versión 3.5 de .NET nuestros amigos de Redmond incluyeron una nueva herramienta deO/RM (object relational mapping) conocida como "LINQ to SQL". Con LINQ to SQL podíamosmodelar una base de datos relacional con clases .NET de forma automática lo que nos permitíaseleccionar, editar, insertar o eliminar datos tan solo editando las clases y colecciones generadas.Para poder trabajar con estas clases se añadió soporte para lenguaje "LINQ" (Language IntegratedQuery) que no es más que un modo de expresar consultas similares al sql normal contra cualquiercolección (ya sea generado por el modelador de LINQ to SQL o bien creada manualmente). LINQincluye tipado, comprobación de las consultas en tiempo de compilación, expresiones lambda ytipos anónimos e intellisense lo que lo convierte en un lenguaje para consultas mucho máspotente que el sql clásico.Con estas dos herramientas juntas podemos obtener una serie de clases generadasautomaticamente de una base de datos y trabajar con ellas manipulando datos sin necesidad deescribir una sola linea SQL.Más adelante, con la versión 4.0 de .NET se incluyó ADO .NET Entity Framework y su LINQ toEntities que ofrecía una nueva forma de modelar bases de datos en entidades de formaautomática más compleja y flexible pero con un funcionamiento básicamente similar ya quetambién se trabaja mediante consultas LINQ.Elaborado por : Naim Jhon Cruzado Paredes
  3. 3. Visto esto os preguntareis: "Pues tiene buena pinta pero...¿qué diferencias existen entre LINQ to SQL y Entity Framework?"Aunque son casi lo mismo LINQ to SQL y EF han tenido vidas paralelas y, hoy en día, EF se haimpuesto de manera aplastante. La gran diferencia es que LINQ to SQL se creó con la finalidad deser un RAD (Rapid Application Development) por lo que se dejaron alguna cosas en el tintero quese solventaron con EF:  LINQ to SQL sólo permite conectarse a SQL Server y ser usado en C# o VB.NET. EF en cambio soporta varios proveedores como MySql, Oracle, SQL Server, XML, etc...  LINQ to SQL mapea cada tabla/vista como una clase o "entidad" sin permitir herencia, entidades lógicas o entidades de negocio. EF lo implementa completamente.Como ves Entity Framewok está preparado para modelar la capa de datos de una forma másgenerica y flexible lo que nos permite abordar proyectos de mayor envergadura aunque si lo quebuscamos es una forma rápida de modelar nuestra base de datos SQL SERVER y no necesitamosgrandes florituras LINQ to SQL nos valdría perfectamente.En futuras entradas explicaré de forma más practica como modelar una base de datos y comohacer las típicas consultas (Select, Insert, Update, Delete) con Entity Framework.Elaborado por : Naim Jhon Cruzado Paredes
  4. 4. Visual Studio 2012 ASP.NET 4 “Entity Framework”JUL 11Continuando con los temas referentes a Entity Framework, les comento que después de algunosmeses me animo de nuevo a poner algo en este blog. Primero que nada quisiera contarles, quetodo lo que yo les he puesto anteriormente son cosas que había aprendido en el servicio y en elIST, ahora ya estoy “trabajando” por así decirlo, y en tan poco tiempo aprendí bastantes de cosasque me gustaría irlas viendo poco a poco, y para empezar me gustaría darles una pequeñaintroducción a lo que es ADO.NET Entity Framework y Linq to Entity, utilizando los componentesque .NET nos proporciona para así aumentar la eficiencia.También les presumo, que ya tengo Visual Studio 2012, y trae el Framework 4.5, la verdad nome he puesto a estudiar las novedades que trae ASP.NET 4.5, por lo tanto el post tratará sobreel framework 4.0 y Entity Framework que es lo principal que viene en este framework.Lo que pretendo hacer en este post es un pequeño catalogo donde se muestren diferentes tiposde productos y se puedan filtrar, etc.Bueno para empezar vamos a crear un proyecto ASP.NET vacio y yo lo llamaré BalusoftPostElaborado por : Naim Jhon Cruzado Paredes
  5. 5. OJO AMIGOS, si de casualidad tu tienes visual studio 2012, tendrás que elegir el framework 4,esto para Post posteriores que voy a ahcer y tal vez sean de tu interes. Y finalmente puestendrémos un proyecto totalmente vacio… obvio Primeramente hay que ver la base de datos que vamos a utilizar, en este caso les voy a pasar los archivos mdf para hacerlo mas practico, pero de igual manera si la quieren hacer, aqui les dejo el diagramaElaborado por : Naim Jhon Cruzado Paredes
  6. 6. Muy simple…Descarga la base de datos: Archivo 1 Archivo 2 , en este caso podemos desarrollado desde unabase datos que se adecue este escenario, elegir base datos a su criterio.En visual studio creamos una carpeta especial de ASP que se llama App_Data y una vezdescargado los 2 archivos de arriba, lo arrastramos a nuestro explorador de solucionesguardandolo en la carpeta ASP_dataSi automaticamente te agrego una conexion en visual studio, ignorala, nosotros vamos a crearuna base de datos en nuestra instancia de Sql Server express apartir de ese archivo .mdf, parahacer eso nos posicionamos en Database Explorer:Elaborado por : Naim Jhon Cruzado Paredes
  7. 7. Y damos clic en ¨Connect to Database¨ Escribimos el nombre de nuestro servidor, si no les funciona .SQLEXPRESS prueben con (local), y en Attach a database file damos la ruta del archivo .mdf que se descargaron y copiaron en la carpeta App_Data, damos OK. De esta manera ya tendrémos instalada la base de datos que vamos a utilizar Ahora vamos a crear nuestro modelo a partir de esa base de datos, el modelo que vamos a crear es un modelo ADO.NET Entity Framework, para crear un modelo apartir de la base de datos que ya instalamos tenemos que hacer lo siguiente: primero creamos una nueva carpeta, que se llamará DAL (Data Access Layer) y en esa carpeta agregaremos un nuevo itemElaborado por : Naim Jhon Cruzado Paredes
  8. 8. Agregamos el modelo y nos aparecerá el siguiente asistente Next…Elaborado por : Naim Jhon Cruzado Paredes
  9. 9. Seleccionamos la conexion que ya creamos anteriormente y el nombre de configuracion para Web.Config le ponemos BalusoftEntitiesSeleccionamos las tablas que queremos agregar al modeloElaborado por : Naim Jhon Cruzado Paredes
  10. 10. Asi ya tenemos el modelo creado, automaticamente .NET nos creo clases con sus propiedades queevidentemente son las que tenemos en las tablas, en este caso solo productos y tipo_producto.Ahora tenemos que construir nuestra solucion para que se compile el modelo y asi podrémosusarlo.Elaborado por : Naim Jhon Cruzado Paredes
  11. 11. Mostrar un menú con los tipos de productosPrimero que nada vamos a mostrar un menú que nos permitirá elegir que tipo de productoqueremos mostrar, el chiste de esto es hacer un tipo “catalogo” de productos.Creamos un nuevo webform que se llame default.aspx y agregaremos 2 componentes de lacategoria Data: EntityDataSource y un ListViewPrimero vamos a configurar el EntityDataSource, los componentes los arrastramos y en mododiseño damos clic a la lista desplegable del componente y le damos en “Configure Data Source”Elaborado por : Naim Jhon Cruzado Paredes
  12. 12. Y listo, en este data source vamos a tener acceso a la entidad tipo_producto y a los unicos doscampos que contiene, ahora en el listview nos vamos al a vista de codigo y hay que dejarloexactamente igual:Aquí estamos difiniendo 3 cosas, el layout de como se mostrara nuestros datos, en este caso esuna simple lista <ul>, dentro del PlaceHolder es donde se va a generar los ItemTemplate, o seatodos los elementos que producirá la consulta a tipo_producto, mas delante definimos elItemTEmplate, que será un numero indefinido de elementos <li> y con la funcion Eval, obtenemosElaborado por : Naim Jhon Cruzado Paredes
  13. 13. el valor de los campos de la entidad, en este caso id_tipo_producto y mostramos el tipo en elmismo enlace, si guardamos y si tenemos estos datos en la tabla tipo_productos el resultado seráel siguiente:DatosResultadoy si vemos el codigo de la pagina en el cliente, vemos como nos genero los enlaces:Lo notan?, vean el item template y vean como es el resultado, comparenEl primero es el codigo en ASP y el 2do el resultado en puro html en el cliente.Asi es como funcionan los ListView, la verdad se pueden hacer un chorro de cosas, personalizadaso automaticamente, de esta misma manera vamos a generar el catalogoElaborado por : Naim Jhon Cruzado Paredes
  14. 14. Debajo de este listview, vamos a agregar un control llamado Panel, pueden arrastrarlo yconfigurar desde la interfaz las propiedades, yo por mientras solo les pondré el codigoEs un Panel, con ID pnlCatalogo y estará oculto por el momento, el chiste es que se muestre estepanel cuando ya tenemos una categoria seleccionada del listado que ya hicimos.Vamos a configurar el Listview igual como lo hicimos en el anterior, pero ahora vamos aplicarestilos CSS para poder mostrarlo como un catalogo mas bonito, entonces haremos:En nuestra pagina default.aspx vamos a agregar dentro de las etiquetas <head> el siguientecodigo que seran estilos CSSAhora dentro del listView que agregamos dentro del panel que tambien agregamos (valga laredundancia) vamos a dejarlo de la siguiente manera:Elaborado por : Naim Jhon Cruzado Paredes
  15. 15. Y nos vamos al CodeBehind default.aspx.cs y agregamos lo siguienteElaborado por : Naim Jhon Cruzado Paredes
  16. 16. Basicamente, como recuerdan, al dar clic en algun tipo de producto nos manda a la misma paginadefault.aspx pero con una variable por la URL, entonces en el evento Page_Load por medio deQueryString obtenemos el valor de esa variable que pasamos por la URL, y si es que existe algunvalor mandamos a llamar al metodo cargarCatalogoeste metodo privado llamado cargarCatalogo le damos por parametro el id del tipo de productoque se seleccionó, creamos una instancia de nuestro modelo BalusoftEntities que creamos dentrode la carpeta DAL, por eso agregamos el using en la parte de arriba, por medio de linq to entitieshacemos una consulta muy sencilla que es un select from where en SQL, finalmente vinculamoslos datos y el resultado será el siguiente:Tengamos en cuenta que en la tabla productos tenemos esta informacion:Se dan cuenta, nos muestra los productos del tipo 1, dato que se pasa por la URL y se hace todoese proceso.Espero y les sirva! un saludo y esperen mas cosas de ASP.NET Entity FrameworkElaborado por : Naim Jhon Cruzado Paredes

×