EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
1. Preparación Examen de
Fin de Carrera
Programación .Net
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
2. No me diga que el cielo es el límite cuando hay
huellas en la luna.
Paul Brandt.
3. Objetivo
1. Adquirir los conceptos
básicos relacionados con
Visual Studio
2. Reconocer las
características de Visual
Studio
● Programación .NET
Contenido
4. ODS
● 4.3 De aquí a 2030, asegurar
el acceso igualitario de todos
los hombres y las mujeres a
una formación técnica,
profesional y superior de
calidad, incluida la enseñanza
universitaria
META
5. Introducción
● .NET Framework es una tecnología que admite la
compilación y ejecución de la última generación de
aplicaciones y Servicios web XML.
6. Introducción
● .NET es un framework de Microsoft que hace un énfasis en
la transparencia de redes, con independencia de
plataforma de hardware y que permite un rápido
desarrollo de aplicaciones.
19. Componentes
● Los principales componentes del marco de trabajo son:
○ El conjunto de lenguajes de programación.
○ La biblioteca de clases base o BCL.
○ El entorno común de ejecución para lenguajes, o CLR (Common
Language Runtime) por sus siglas en inglés.
20. Ventajas
● Programación Orientada a Objetos
● Soporte para múltiples lenguajes
● Fácil desarrollo basado en componentes
● Simplifica el despliegue de las aplicaciones
● Soporte para Biblioteca de Clases Base (Base Class Library)
● Implementación de varios tipos de aplicaciones
● Infraestructura de tiempo de ejecución unificada
● Interoperabilidad con código existente
● Modelo de seguridad mejorada
● Soporte para comunicación con Servicios Web
21. Desventajas
● Las críticas hechas en las ediciones de Visual Basic
anteriores a VB.NET son variadas, se citan entre ellas:
○ Problema de versionado asociado con varias librerías runtime DLL´s,
conocido como DLL Hell
○ Dependencia de complejas y frágiles entradas de registro COM
22. ¿Porque Xamarin?
● Más aplicaciones, más
rápido
● Soluciones nativas cross-
platform
● Facil escalabilidad
25. Modelo perfecto de C# y Xamarin:
Lo mejor de ambos mundos
End user
experience
Great apps delivered to the
user’s choice of device
Development agility, with Visual
Studio to move at mobile speed
Developer Experience Better TCO and productivity
26. Como trabaja Xamarin.Forms
En tiempo de ejecución, cada página de
Xamarin.Forms y sus controles son mapeados en la
interfaz de usuario nativa de cada plataforma
27. Universal Windows
Platform
Facilidad para los
usuarios de estar
actualizados
Plataforma de
aplicaciones y núcleo
unificado
OS kernel
convergente
Modelo de aplicación
convergente
28. One Store +
One Dev Center
Reuse
Existing
Code
One SDK +
Tooling
Adaptive
User
Interface
Natural
User Inputs
One Universal Windows Platform
32. ¿Por qué el Entity Framework?
Desajuste de impedancias (impedance mismach)
Diferencias entre los modelos relacionales y los modelos de objetos
Diseños guiados por modelos de dominio (Domain Driven Design,
DDD)
Proponen centrarse en el modelo conceptual o dominio de trabajo para
resolver el problema
Dan prioridad al problema a resolver!
Patrones en DDD
VO, Lazy Loading, Data Mapper, Unit of Work
34. Arquitectura y componentes
Proveedores específicos de EF
Fabricante Provider para
Devart (CoreLab) Oracle, MySQL, PostgreSQL, SQLite
IBM DB2, Informix Dynamic Server, U2
MySQL AB MySQL
Npgsql PostgreSQL 7.3+ y 8.x
OpenLink Oracle, Ingres, Informix, Sybase, MySQL, PostgreSQL, DB2,
Progress, SQL Sever, (cq. Datasource OpenLink ODBC o
bridge JDBC)
Phoenix SQLite Database
Sybase SQLAnywhere
Vista DB VistaDB databases
Datadirect Tech. Orable, Sybase, SQL Server, DB2…
Firebird Firebird databases
35. Arquitectura y componentes > Entity Data Model (EDM)
1. Diseñador de modelos EDM (Entity Data Model Designer)
36. Arquitectura y componentes > Entity Data Model (EDM)
2. Asistente de modelos de entidades (Entity Data Model Wizard)
Encargado de generar el archivo edmx
Permite crear el modelo a partir de una BD ya existente o generar un
modelo vacío
Agregando un modelo de EDM
37. Arquitectura y componentes > Entity Data Model (EDM)
2. Asistente de modelos de entidades (Entity Data Model Wizard)
Asistente de creación de EDM (1)
38. Arquitectura y componentes > Entity Data Model (EDM)
2. Asistente de modelos de entidades (Entity Data Model Wizard)
Asistente de creación de EDM (2)
39. Arquitectura y componentes > Entity Data Model (EDM)
2. Asistente de modelos de entidades (Entity Data Model Wizard)
Asistente de creación de EDM (3)
40. Arquitectura y componentes > Entity Data Model (EDM)
2. Asistente de modelos de entidades (Entity Data Model Wizard)
Vista gráfica del archivo edmx
41. Arquitectura y componentes > Entity Data Model (EDM)
2. Asistente de modelos de entidades (Entity Data Model Wizard)
Vista XML del archivo edmx
42. Arquitectura y componentes > Entity Data Model (EDM)
3. Asistente de actualización de modelos
Permite actualizar el modelo EDM después de que se hayan
realizado cambios en la BD
43. Arquitectura y componentes
Object Services. Consultas. Entity SQL
Ej: consultar el número de cuentas
using (MiniBankEntities context = new MiniBankEntities())
{
String query = "SELECT VALUE account " +
"FROM Account " +
"WHERE account.usrId = @userId";
ObjectParameter param = new ObjectParameter("userId", userId);
int result =
context.CreateQuery<Account>(query, param).Count();
Console.WriteLine(result);
}
44. Arquitectura y componentes
Object Services. Consultas. Entity SQL
Ej: recuperar las cuentas de un usuario (implementando Page-by-Page)
using (MiniBankEntities context = new MiniBankEntities())
{
String query = "SELECT value account " +
"FROM Account " +
"WHERE account.usrId = @userId " +
"ORDER BY account.accId";
ObjectParameter param = new ObjectParameter("userId", userId);
List<Account> accounts =
context.CreateQuery<Account>(query, param).
Execute(MergeOption NoTracking) Skip(startIndex)
Take(count).ToList();
foreach (Account a in accounts)
{
Console.WriteLine(a.accId + ", " + a.balance);
}
}
45. Arquitectura y componentes
Object Services. Consultas. LINQ-to-Entities
Ej: consultar el número de cuentas
using (MiniBankEntities context = new MiniBankEntities())
{
int result =
(from acc in context.Account
where acc.usrId == userId
select acc).Count();
Console.WriteLine(result);
}
46. Arquitectura y componentes
Object Services. Consultas. LINQ-to-Entities
Ej: recuperar las cuentas de un usuario (implementando Page-by-Page)
using (MiniBankEntities context = new MiniBankEntities())
{
List<Account> accounts =
(from a in context.Account
where a.usrId == userId
orderby a.accId
select a).Skip(startIndex).Take(count).ToList();
foreach (Account a in accounts)
{
Console.WriteLine(a.accId + ", " + a.balance);
}
47. LINQ
LINQ (Language Integrated Query) ó lenguaje integrado de consultas ,
son un conjunto herramientas de Microsoft para realizar todo tipo de
consultas a distintas fuentes de datos: objetos, xmls, bases de datos,
etc...
Para ello, usa un tipo de funciones propias, que unifica las
operaciones más comunes en todos los entornos, con esto, se
consigue un mismo lenguaje para todo tipo de tareas con datos.
48. LINQ
• LINQ nace en el Framework 3.5 y pronto coge una gran aceptación
entre el mundo de .net, tanto es asi, que enseguida salen
proveedores de terceros, para el uso de este lenguaje con JSON,
CSVs, o inclusos APIs como la de Twitter y Wikipedia.
• Para poder hacer uso de esta API y aprovechar todas las
características de la misma debemos hacer referencia al ensamble
System.Data.Linq.dll y en código al namespace System.Data.linq.
49. LINQy SQL
Consultas integradas en el lenguaje
Linq maneja una
sintaxis muy similar
a SQL.
Es fácil de aprender
Mapping
La correspondencia
entre SQL y Linq
hace que se aplique
la estructura de
Objetos para
facilitar el desarrollo
Persistencia
Linq controla
automáticamente
los cambios en la
base de datos.
63. Seguimiento de referencias y
restauración de paquetes
De forma similar, cuando los desarrolladores obtienen una copia de un
proyecto (como al clonar un repositorio), pueden invocar un comando
como nuget restore (CLI de NuGet), dotnet restore (CLI de dotnet), o
Install-Package (consola del Administrador de paquetes) para obtener
todos los paquetes necesarios. Visual Studio, por su parte, restaura
automáticamente los paquetes al compilar un proyecto (siempre que la
restauración automática esté habilitada, tal y como se describe en
Restauración de paquetes).
64. ● Los reportes son parte importante de una aplicación, al
instalar rdlc en Visual Studio 2019 permite generar en
aplicaciones ASP.Net.
● Microsoft RDLC permite la creación y diseño de reportes
para proyectos ASP.Net y Windows Form desde Visual
Studio.
RDLC
(Report Definition Language Client-side)
65. RDLC
(Report Definition Language Client-side)
● Es una herramienta de generación de reportes gratuita en
comparación con Crystal Reports, herramienta con la
misma función.
● Desde la versión de Visual Studio 2017, los reportes rdlc
no viene incluido por defecto, esto provoco algunos
problemas con los proyectos que lo utilizan.
● Los reportes RDLC quedo como un complemento que se
debe instalar desde el administrador de extensiones.
66. MAUI NET
● Es de código abierto y es la evolución de Xamarin.Forms,
extendida desde escenarios móviles a escritorio, con
controles de interfaz de usuario recompilados desde cero
para el rendimiento y la extensibilidad.
● Con .NET MAUI, puede crear aplicaciones multiplataforma
mediante un solo proyecto, pero puede agregar código
fuente y recursos específicos de la plataforma si es
necesario.