Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010

10,925 views

Published on

En la JUTI XI 2010 (Jornadas Universitarias Tecnológicas sobre Informática) dimos un introducción de como trabajar con Entity Framework 4.0, ASP.NET MVC 2.0 con Visual Studio 2010

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
10,925
On SlideShare
0
From Embeds
0
Number of Embeds
5,826
Actions
Shares
0
Downloads
102
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Entity Framework 4.0 y ASP.NET MVC 2 con VS2010 - JUTI XI - 2010

  1. 1. ASP.NET MVC 2 con Entity Framework 4.0<br />Visual Studio 2010<br />Ing. Cristina Dacunda cdacunda[at] desarrollosnea.com.ar<br />Ing. JoséA. Fernandezjfernandez[at] desarrollosnea.com.ar<br /> JUTI XI | 2010- Jornadas Universitarias Tecnológicas sobre InformáticaUTN-FRREAgosto.2010<br />
  2. 2. Agenda<br />Entity Framework 4.0<br />Funciones, DataComplex, Herencia<br />Desarrollo en capas. Clases POCO<br />ASP.NET MVC 2<br />Introducción<br />Validación<br />Áreas<br />
  3. 3. Entity Framework 4.0<br />
  4. 4.
  5. 5. Entidades de negocio<br />Entity Framework Layers<br />CSDL<br />Entidad<br />MSL<br />SSDL<br />Tabla<br />Base de datos<br />
  6. 6. EF 4.0 ¿Donde estás?<br />VS2008 SP1: Version EF 1.0<br />VS2010: in-box EF 4.0<br />
  7. 7. El Modelo de Entidades<br />¿Cómoempezamos…?<br />1) DB Existente<br />2) Modelamos la DB<br />3) “Code-First” Empezamos a escribir la app (sin DB)<br />{Demo}<br />
  8. 8. EF 4.0: Code First<br />Trabajar con datos… sin DB, sin XML<br />Definiendo solamente clases POCO <br />Clases POCO (“plain old CLR objects”): Sin métodos para realizar persistencia, no deriva de ninguna clase ni implementa alguna interfaz<br />Mis entidades que “burbujean” en la app<br />Enlaces:Microsoft ADO.NET Entity Framework Feature Community Technology Preview 4<br />
  9. 9. EF 4.0: Capa de Entidades<br />Utilizamosunaplantilla de VS Gallery <br />Plantilla: ADO.NET C# POCO EntityGenerator<br />UtilizaT4, (y unoscondimentos..)<br />Separarnuestrasentidades<br />Enlacehttp://visualstudiogallery.msdn.microsoft.com/en-us/23df0450-5677-4926-96cc-173d02752313<br />UI/Aplicacion<br />Entidades<br />Negocio<br />Acceso a datos/Persistencia<br />
  10. 10. EDM: Entity Data Model<br />Entidades<br />Complex Types<br />Herencia{DEMO}<br />
  11. 11. Acceder/Consultar<br />Patron Repository<br />Unit of Work<br />No es un 1 a 1 con lasentidades<br />Entidadesrelacionadas (“Abstraccion”)<br />JediRepository<br />TipoJedi<br />Jedi<br />…<br />
  12. 12. Patron Repository<br />Abstracción de la persistencia <br />POO<br />Es una clase para consultar nuestras entidades<br />Trabajas con Objetos, con Colecciones <br /><ul><li>{DEMO}</li></li></ul><li>ASP.NET MVC<br />
  13. 13. MVC?<br />El patrón MVC paradigma que divida el sistema en 3 partes:<br />Modelo<br />Encapsula el estado del sistema<br />Vista<br />Representación visual o no del modelo<br />Controlador<br />Implementa la lógica de control que mapea acciones a cambios en el modelo<br />
  14. 14. MVC<br />Model<br />View<br />Controller<br />actualiza<br />cambio de estado<br />consulta<br />accion<br />
  15. 15. ASP.NET MVC 2<br />Es la implementación de ASP.NET VS2008: esunainstalación out-the-box VS2010: in-box <br />Es nuevo en nuestro entorno de desarrollo (Nuevo Proyecto...)<br />Nos da a elegir<br />System.Web<br />
  16. 16. ASP.NET MVC 2<br />Soy un desarrollador web. Que habilidades requiero?<br />Web form: desde el momento “0” (prueba- error)<br />MVC: un poco mas de «entrenamiento» previo<br />Se integra a lo que venimos utilizando funcionalidades de ASP.NET<br />Membership, Caching, Session, etc.<br />
  17. 17. ASP.NET MVC 2<br />Demo<br />Controlador. Acciones de ABM<br />Vistas<br />
  18. 18. ASP.NET MVC 2: Validaciones<br />DataAnnotations<br />Validación del modelo<br />Servidor<br />ModelState.IsValid<br />Cliente<br />
  19. 19. ASP.NET MVC 2: Areas<br /><ul><li>{DEMO}</li></li></ul><li>ASP.NET MVC vs.WebForms<br />WebForms<br />PRO<br />Fue la primer alternativa 2001-2002 para web en .NET<br />Creación de paginas fácilmente y rápido (drag&drop)<br />Fácil migración de mundo Winforma ambientes web<br />Mantiene el estado ! (nos abstrae…) <br />Javascript(un poco oculto) <br />CONTRAS<br />Javascript/HTML dificil de controlar (estándares)<br />Arquitectura de paginas-eventos no estimula el uso de patrones que nos ayuden<br />Test (también doloroso),<br />Javascriptes un poco bastante "doloroso« (clientId, registración, …)<br />
  20. 20. ASP.NET MVC vs.WebForms¿Cuandoutilizar?<br />Cuando WebForms:<br />Ya lo utilizo en mi proyecto. Medio Webform y medio MVC no...<br />Si no tengo practica en MVC. Tener un tiempo practicando antes de utilizarlo.<br />No te gusta programa javascript<br />Si estas cómodo con webform.<br />Cuando MVC:<br />Necesito realizar TDD (Test unitarios en la UI)<br />Necesito utilizar mucho javascript(…leasejQuery)<br />FrameworksJavascript. <br />Un paso mas de Ajax, … «Comet» (Ajax Push)<br />Aplicacionmas modular (por obligación)<br />Mas control sobre lo que utilizamos. (Motor de Vistas, Controladores personalizados, ActionResultpersonalizadas)<br />Tener control de HTML resultante (estandares, menos código)<br />Menos código HTML: No tenemos ViewStateni ciclo de vida de las páginas. Menos peso, menos complejidad.<br />
  21. 21. ASP.NET MVC vs.WebForms¿Cuandoutilizar?<br />Cuando MVC:<br />Fácil de mantener en grandes volúmenes de "paginas"<br />URL mas "User-Friendly", SEO (también en Webform4.0)<br />Se integra a lo que venimos utilizando funcionalidades de ASP.NET<br />Membership, Caching, Session, etc.<br />
  22. 22. ASP.NET MVC vs.WebFormsMantenimiento <br />Webforms<br />ASP.NET MVC<br />Mantenimiento<br />Cantidad de paginas sitio web<br />
  23. 23. (*) Que se viene… MVC 3 (Preview 1)<br />“Razor” Nuevo motor de vistas. (Nuevo selector de vista…)<br />Introducción/ Sintaxis (Mas limpia)<br />Ejemplo:<br />Dynamic View / ViewModel<br />Service Location /Dependency Injection  <br />Clase: JsonValueProviderFactory<br />ValidationAttributes/ IValidatableObject <br />PermanentRedirect / Nuevos ActionREsult (HttpNotFoundResult, HttpStatusCodeResult)<br />Enlaces:<br />ASP.NET MVC 3 Preview 1<br />
  24. 24. Enlaces<br />MVC Sitio Oficialhttp://www.asp.net/mvc<br />Blogs de los responsables del proyecto<br />http://haacked.com/<br />http://weblogs.asp.net/scottgu/<br />
  25. 25. ¿Preguntas?<br />Ing. Cristina Dacunda cdacunda[at] desarrollosnea.com.arblog: http://team.desarrollosnea.com.ar/blogs/cdacunda<br />Ing. JoséA. Fernandezjfernandez[at] desarrollosnea.com.arblog : http://team.desarrollosnea.com.ar/blogs/jfernandezblog: http://geeks.ms/blogs/fernandezja<br />JUTI XI | 2010- Jornadas Universitarias Tecnológicas sobre InformáticaUTN-FRREAgosto.2010<br />

×