Conocer las bases de .NET core

1

¬ŅQu√© necesitas para aprender a desarrollar aplicaciones profesionales en .NET con Blazor?

2

Todo lo que aprender√°s sobre Blazor

3

Evolución de .Net

4

¬ŅC√≥mo funciona el Desarrollo Web sin Blazor?

5

Instalando Visual Studio Community

6

Instalando SQL Server Express

Entender la estructura de Blazor

7

Webassemblies y .Net Core 3

8

Anatomía de una aplicación Blazor

9

Blazor pages

10

Blazor components

11

Introducción a formularios

12

Inyección de dependencias

Aplicar Entity Framework

13

Arquitectura vs. Patrones de Dise√Īo

14

Estructurando nuestro proyecto

15

¬ŅEn qu√© consiste Entity Framework y por qu√© vamos a trabajarlo?

16

Creación de entidades

17

Data annotations

18

Trabajando el relacionamiento entre entidades

19

Creando el datacontext

20

Migraciones

21

Alimentando la base de datos

Integrar datos en ambientes Blazor

22

Construyendo la capa intermedia o capa de negocio

23

El CRUD de integración de datos

24

Creación de formularios con Blazor

25

Finalizando el formulario

26

Trabajando listas de datos

27

Agregando filtros a nuestra lista

28

Guardando nuevos registros

29

Creación formulario de actualización de datos

30

Aplicando actualización de datos

31

Registrando productos en almacenamiento

32

Creando p√°gina de almacenamiento

33

Cargando productos por Bodega para entradas y salidas

34

Relacionando productos y formulario de entradas y salidas

35

Finalizando el formulario de entradas y salidas

Aplicar Dise√Īo con Bootstrap

36

Revisión de estilos: Introducción a Bootstrap

37

Publicando el sitio

38

Cierre del curso

No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Data annotations

17/38
Recursos

Aportes 18

Preguntas 0

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

Realmente considero que poner cosas como ProductId, ProductName, ProductDescription dentro de una clase que se llama Producto es redundante, si estoy en la clase Product y tengo la propiedad Name claramente es el Name del producto. Pero supongo que depende mas de gustos.

hasta aqui se ve ordenado el seguimiento que le va dando al proyecto junto con el avance de las clases, espero que se mantenga asi hasta el final

Me surgi√≥ una duda mientras hac√≠a esto y viendo el diagrama que estaba en la clase de Explicaci√≥n de Entity Framework not√© que no hab√≠a relaci√≥n entre las entidades. Pero ya vi que es la clase que sigue ūüėÖ

    class StorageEntity
    {
        [Key]
        [StringLength(50)]
        public string StorageId { get; set; }
        public DateTime LastUpdate { get; set; }
        [Required]
        public int PartialQuantity { get; set; }
        [Required]
        [StringLength(10)]
        public string ProductId { get; set; }
        [Required]
        [StringLength(50)]
        public string WherehouseId { get; set; }
    }


    class WherehouseEntity
    {
        [Key]
        [StringLength(50)]
        public string WherehouseId { get; set; }
        [Required]
        [StringLength(100)]
        public string WherehouseName { get; set; }
        [Required]
        [StringLength(200)]
        public string WherehouseAddress { get; set; }
    }


    class InOutEntity
    {
        [Key]
        [StringLength(50)]
        public string InOutId { get; set; }
        [Required]
        public DateTime InOutDate { get; set; }
        [Required]
        public int Quantity { get; set; }
        [Required]
        public bool IsInput { get; set; }
        [Required]
        [StringLength(50)]
        public string StorageId { get; set; }
    }

Recomiendo para las fechas agregar datatype
[Required] [DataType(DataType.Date)] public DateTime InOutDate { get; set; }

Modelo Entidad Relación , cumplir reto de crear Entidades

Para los ID podriamos utilizar GUID que tiene implementado ya C#, es una excelente opción para el manejo de claves unicas.

Excelente

Colocar un Id como string es la primera vez que veo algo así, si quiero que sea identity para que tenga autoincremento aun así funcionaria?? También coincido con el otro alumno, si tengo una tabla llamada Product, y la columna date por ejemplo, Date seria el nombre y Product el Apellido y es redundante llamarla ProductDate, en mi humilde opinión y experiencia en .net

Al hacer uso del Code First, entiendo que crear√° en mi base de datos las tablas (columnas / keys / relaciones). Posteriormente, si hago una modificaci√≥n solo en mi base de datos y no en las entidades de Visual Studio. ¬ŅLas entidades en Visual Studio se actualizar√°n?

Mi solución.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace Entities
{
    class StorageEntity
    {
        [Key]
        [StringLength(10)]
        public string StorageId { get; set; }
        public DateTime LastUpdate { get; set; }
        public int PartialQuantity { get; set; }
        [Required]
        public string ProductId { get; set; }
        [Required]
        public string WarehouseId { get; set; }

    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace Entities
{
    class WarehouseEntity
    {
        [Key]
        public string WarehouseId { get; set; }
        [Required]
        [StringLength(50)]
        public string WarehouseName { get; set; }
        [MinLength(10)]
        public string WarehouseAddress { get; set; }
    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace Entities
{
    class InOutsEntity
    {
        [Key]
        [StringLength(50)]
        public string InOutsId { get; set; }
        [Required]
        public DateTime InOutDate { get; set; }
        public int Quantity { get; set; }
        public bool IsInput { get; set; }
        [Required]
        public string StorageId { get; set; }
    }
}


Estas entidades se crean solo cuando aun no esta creada la base de datos? Si ya existe una base de datos creada con sus columnas, relaciones y todo, igual se deben crear estas entidades?

Algo que siento que falta en todo el curso es referencias a la documentación oficial, por ello relaciono algunos enlaces que pueden ser de interés:

class InOuts
    {
        [Key]
        [StringLength(10)]
        public string InOutId { get; set; }
        [Required]
        [StringLength(100)]
        public string InOutDate { get; set; }
        public int Quantity { get; set; }
        public bool IsInput { get; set; }
    }
public class WherehouseEntity
    {
        [Key]
        [StringLength(10)]
        public string WherehouseId { get; set; }
        [Required]
        [StringLength(100)]
        public string WherehouseName { get; set; }
        [Required]
        [StringLength(100)]
        public string WherehouseAddress { get; set; }
    }
public class StorageEntity
    {

        [Key]
        [StringLength(10)]
        public string StorageId { get; set; }
        [StringLength(30)]
        public string LastUpdate { get; set; }
        public int PartialQuantity { get; set; }
    }
public class WarehouseEntity
    {
        [Key]
        public int WarehouseId { get; set; }
        [StringLength(100)]
        public string WarehouseName { get; set; }
        [StringLength(150)]
        public string WarehouseAddress { get; set; }
    }


public class StoragesEntity
    {
        [Key]
        public int StoragesId { get; set; }
        [Required]
        public DateTime LastUpdate { get; set; }
        public int PartialQuantity { get; set; }    
        public int ProductId { get; set; }
        public int WarehouseId { get; set; }
    }


public class InOutEntity
    {
        [Key]
        public int InOutId { get; set; }
        [Required]
        public Datetime InOutDate { get; set; }
        public int Quantity { get; set; }
        public bool IsInPut { get; set; }
        public int StoragesId { get; set; }
    }

Para ser clase de Data Annotations es infinitamente b√°sica, deberia haber una clase en alg√ļn curso .NET que profundice m√°s

Reto

![](
![](
![](

Mi aporte del reto:

public class WarehouseEntity
{
    [Key]
    public int WarehouseId { get; set; }

    [Required]
    [StringLength(50)]
    public string WarehouseCode { get; set; }

    [Required]
    [StringLength(100)]
    public string WarehouseName { get; set; }

    [Required]
    [StringLength(100)]
    public string WarehouseAddress { get; set; }
}

public class StorageEntity
{
    [Key]
    public int StorageId { get; set; }

    [Required]
    [StringLength(50)]
    public string StorageCode { get; set; }

    [Required]
    public DateTime StorageLastUpdate { get; set; }

    [Required]
    public decimal StoragePartialQuantity { get; set; }

    [Required]
    public int ProductId { get; set; }

    [Required]
    public int WarehouseId { get; set; }
}

public class InOutEntity
{
    [Key]
    public int InOutId { get; set; }

    [Required]
    [StringLength(50)]
    public string InOutCode { get; set; }

    [Required]
    public DateTime InOutDate { get; set; }

    [Required]
    public decimal InOutQuantity { get; set; }

    [Required]
    public bool InOutIsInput { get; set; }

    [Required]
    public int StorageId { get; set; }
}