Está en la página 1de 43

Creaciòn de Proyecto

Arquitectura de software
Arquitectura de Referencia: Implementación
Arquitectura de Referencia: Implementación
Implementación de la Arquitectura:

1. Verificar la instalación de .Net core 3.1: https://dotnet.microsoft.com/en-


us/download/dotnet/3.1
2. Ingresar al CMD “Símbolo del Sistema”
Implementación de la Arquitectura:

3. Ubicar la carpeta raíz en cm, siguiendo el siguiente orden:

• Digitar el comando cd.. con el objetivo de regresar a la carpeta anterior


hasta llegar a la unidad C:>
Implementación de la Arquitectura:

4. Crear la carpeta principal del proyecto:


❑ Implementar el comando mkdir y nombre de la carpeta (Proyeco_Ciclo_III).
Oprimir la tecla Enter.
Implementación de la Arquitectura:

5. Ingresar a la nueva carpeta.


• Digitar en cmd cd Proyecto_Ciclo_III
“Se ha ingresado a la carpeta”.
Implementación de la Arquitectura:

6. Creación de la carpeta .App donde se ubicaran las diferentes capas.


• Digitar en cmd C:\Proyecto_Ciclo_III>dotnet new sln -o Proyecto.App
Implementación de la Arquitectura:

7. Creación de las carpetas (Proyecto.App.Dominio, Proyecto.App.Servicios,


Proyecto.App.Persistencia) en la carpeta creada en el item anterior
“Proyecto.App”
• Digitar en cmd C:\Proyecto_Ciclo_III>cd Proyecto.App
C:\Proyecto_Ciclo_III\Proyecto.App>dotnet new classlib -o Proyecto.App.”Nombre de la capa”
Implementación de la Arquitectura:

8. Verificación de la estructura con el comando tree


Trabajando con
Visual Studio Code
Implementación de la capa Domino:

1. Ingresar al CMS e ingresar a la carpeta de Proyecto.App.Dominio


Implementación de la capa Domino:

2. Ubicados en la carpeta de Proyecto.App.Dominio se procede inicializar el


Visual Studio Code, con el comando code .
Implementación de la capa Domino:
3. Se implementa la aplicación de Visual Studio Code con la carpeta
PROYECTO.APP.DOMINIO como se observa en el explorador de Visual Code.
Implementación de la capa Domino:

4. Se procede con la creación de la carpeta ENTIDAD y en ella las diferentes


clases. Como se observa en el siguiente ejemplo:
5. En la carpeta ENTIDAD, se crean las diferentes clases
con la extensión .cs
Implementación de la capa Domino:
En la imagen se observa las clases creadas en la carpeta ENTIDAD
Implementación de clases:

1. En cada clase se debe implementar el siguiente código:

using System;
using System.ComponentModel.DataAnnotations;
namespace Proyecto.App.Dominio

2. Declaración del namespace

namespace Proyecto.App.Dominio
{
//”Area donde se crea la nueva clase”
}
3. Definición de la clase dominio con su estructura.
public class “Nombre_Clase”
{
//”Estructura de clase”
}
Implementación de las diferentes clases:

Ejemplo de la clase DEPARTAMENTO

using System;
using System.ComponentModel.DataAnnotations;
namespace Proyecto.App.Dominio
{
public class Departamento
{
[Key]
[MaxLength(4)]
public int IdDepartamento { get; set; }
[MaxLength(50)]
public string? NombDepart { get; set; }
}
}
Implementacion de la capa de
Persistencia
Instalación de las herramientas

1. Ingresar al cmd en la carpeta Proyecto.App e iniciar el Visual Code Studio.


Instalación de las herramientas

1. Al ingresar al Visual Code Studio se inicia una nueva terminal.


La terminal permite realizar acciones similares a la cmd.
Se procede la instalación del dotnet tool install --global dotnet-ef --version 5.0.9

En las Pc que no este instalada, se visualizan diferentes líneas de texto en referencia a las
instalaciones.
Solución de instalación.
Si en el proceso anterior presenta un error, se recomienda que pegue el siguiente código en la
terminal:

dotnet nuget add source https://api.nuget.org/v3/index.json -n DefaultNuget

Intentar nuevamente con:

dotnet tool install --global dotnet-ef --version 5.0.9


dotnet tool update --global dotnet-ef --version 5.0.9

Ingresar a la carpeta Proyecto.App.Persistencia desde la terminal y Continuar con:


dotnet add package Microsoft.EntityFrameworkCore --version 5.0.9
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 5.0.9
dotnet add package Microsoft.EntityFrameworkCore.Design --version 5.0.9
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 5.0.9
Implementar la nuevas carpetas en Proyecto.App.Persistencia
Crear las carpetas:
AppData
AppRepositorios ---→ “En esta carpeta se crear la clase AppContext.cs
Contenido de la Clase AppContext.cs

using Microsoft.EntityFrameworkCore;
namespace Proyecto.App.Persistencia
{
public class AppContext : DbContext
{
public DbSet<Pais> Pais { get; set; }
public DbSet<Departamento> Departamento { get; set; }
public DbSet<Ciudad> Ciudad { get; set; }
}
}
Contenido de la Clase AppContext.cs

En el terminal de Visual Studio Code, se ingresa a la capa de persistencia

C:\Proyecto_Ciclo_III\Proyecto.App\Proyecto.App.Persistencia>
Al ingresar a la capa de
Persistencia se digita: dotnet build

Al ejecutar la aplicación con el


dotnet build se generar la
compilación con un error.

El error se debe que no se hace


referencia la capa de dominio que
contiene las diferentes clases (País,
Departamento) que estamos
implementando en el ejemplo.
Contenido de la Clase AppContext.cs

Ejemplo del error.


Contenido de la Clase AppContext.cs

Solución:
1. Agregar la capa de dominio en el código de AppContext.cs
using Proyecto.App.Dominio;
2. En la terminar hacer referencia a la capa de Dominio.
dotnet add reference ..\Proyecto.App.Dominio\
Compilación de la capa de Persistencia.

Agregar la capa de dominio en el código de App


Contenido de la Clase AppContext.cs + Conexión a la base de datos

using Microsoft.EntityFrameworkCore;
using Proyecto.App.Dominio;
namespace Proyecto.App.Persistencia
{
public class AppContext : DbContext
{
//******SE PROCEDE EN REFERENCIAR LAS DIFERENTES CLASES QUE SE CREARON EN LA CAPA DE DOMINIO \ CARPETA ENTIDAD
public DbSet<Pais> Pais { get; set; }
public DbSet<Departamento> Departamento { get; set; }
public DbSet<Ciudad> Ciudad { get; set; }
//******FIN DE LA REFERENCIAS DE CLASES E INICIO CONEXIÓN AL SERVIDOR
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder
.UseSqlServer("Data Source = (localdb)\\MSSQLLocalDB; Initial Catalog = BD_PROYECTO02");
}
}
}
}
Crear en el proyecto la carpeta Consola

C:\Proyecto_Ciclo_III\Proyecto.App>dotnet new console -o Proyecto.App.Consola


En Visual Code Studio se debe visualizar la carpeta Proyecto.App.Consola

Ingresar a la carpeta Proyecto.App.Consola en el


Terminal de Visual Code.
Ingresar en la carpeta Proyecto.App.Consula --→ Clase Program.cs.
Ingresar a la carpeta Proyecto.App.Consola desde la terminal de Visual Code e instalar:
dotnet add package Microsoft.EntityFrameworkCore --version 5.0.9
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 5.0.9
dotnet add package Microsoft.EntityFrameworkCore.Design --version 5.0.9
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 5.0.9
En la carpeta Proyecto.App.Consola desde la terminal de Visual Code hacer la referencia dotnet add
reference ..\Proyecto.App.Persistencia\
//Adicionar en la clase AppContext.cs la conexión con el servidor:

using Microsoft.EntityFrameworkCore;
using Proyecto.App.Dominio;
namespace Proyecto.App.Persistencia
{
Referencia a las clases (País,
public class AppContext : DbContext
{ Departamento, Ciudad
public DbSet<Pais> Pais { get; set; }
public DbSet<Departamento> Departamento { get; set; }
public DbSet<Ciudad> Ciudad { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured) Instrucción de acceso al servidor
{
optionsBuilder
.UseSqlServer("Data Source = (localdb)\\MSSQLLocalDB; Initial Catalog = BD_PROYECTO02");
}
}
}
}
Generar la Migración.
Ingresar a la carpeta Proyecto.App.Persistencia en el Terminal de Visual Code.

Al implementar la sentencia de migrations se debe


generar una carpeta en el proyecto como se observa en
la imagen.
Realizar la implementación de la base de datos.
dotnet ef database update --startup-project ..\Proyecto.App.Consola\
Se ingresa al servidor SQL Server (Localdb) y Azure Data Studio. Con el objetivo de verificar la creación
de la base de datos con sus respectivas entidades “Clases creadas en la capa de Proyecto.App.Dominio

También podría gustarte