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

Alimentando la base de datos

21/38
Recursos

Aportes 19

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En caso de no haber creado el servidor de Base de Datos usando contraseña, se puede utilizar la siguiente cadena conexión:

options.UseSqlServer(@"Server=machineName\instanceName;Database=InventoryDB;Trusted_Connection=True;");

Hola compañeros llegue a tener un problema, les comparto esto por si les llega a suceder.
Al momento de ejecutar el comando “update-database”, me apareció este error:

_Error Number:8152,State:10,Class:16
String or binary data would be truncated.
The statement has been terminated. _

Este error se presento debido a que los atributos ProductId de la entidad ProductEntity y WarehouseId de la entidad WarehouseEntity tiene establecido una longitud de caracteres menor, a la que se esta tratando de ingresar.
Para solucionar esto pueden agregar una longitud menor a los caracteres que ingresen, o pueden modificar las “DataAnnotations” para que acepten un mayor numero de caracteres, una vez realizado alguna de las dos acciones lo siguiente es ejecutar los siguientes comandos:

add-migration Mensaje
update-database

Esperoq les sea de ayuda.
Saludos 👋.

Si de pronto les sale el error secuencia de escape no reconocida, en la cadena de conexión al motor de base de datos, si en medio de una cadena tienen el carácter , agreguen otro \
ejemplo:

Antes:

options.UseSqlServer("Server=DESKTOP-xxxx\SQLEXPRESS; Database=InventoryDb; User Id=xxxxx\xxxx; Password=xxxx");

Después:

options.UseSqlServer("Server=DESKTOP-xxxx\\SQLEXPRESS; Database=InventoryDb; User Id=xxxxx\\xxxx; Password=xxxx");

Excelente curso hasta el momento todo bastante claro, muy interesante todo lo que ayudan los DataAnnotations. No se si alguien sabe como personalizar un id ejemplo para todas las categorías colocar CATEG01, CATEG02, CATEG03 y así con las otras tablas

Con base a esta clase y en el caso de Visual Code adjunto la siguiente información:

$ dotnet ef database update {
Va a comprobar si la base de datos no existe las construye desde cero y le
agrega la información si ya existe la base de datos comprueba las migraciones
mira que actualizaciones hay y las registra
}

En caso de que no cargue la información podemos volver a ejecutar los ultimos comandos{
dotnet ef Migrations add FirstMigration
dotnet ef database update
}

Si se quiere definir que un campo tiene un índice único, en el archivo InventaryContext.cs en el método OnModelCreating se debe incluir la siguiente línea para cada campo al que se le desea aplicar:

modelBuilder.Entity<CategoryEntity>().HasIndex(b => b.CategoryCode).IsUnique();

Yo incluí la línea después de

base.OnModelCreating(modelBuilder);

Y antes de la parte de las líneas para poblar las tablas

modelBuilder.Entity<CategoryEntity>().HasData(
          new CategoryEntity { CategoryId = 1, CategoryCode = "ASH", CategoryName = "Aseo Hogar" },
          new CategoryEntity { CategoryId = 2, CategoryCode = "ASP", CategoryName = "Aseo Personal" },
          new CategoryEntity { CategoryId = 3, CategoryCode = "HGR", CategoryName = "Hogar" },
          new CategoryEntity { CategoryId = 4, CategoryCode = "PRF", CategoryName = "Perfumería" },
          new CategoryEntity { CategoryId = 5, CategoryCode = "SLD", CategoryName = "Salud" },
          new CategoryEntity { CategoryId = 6, CategoryCode = "VDJ", CategoryName = "Video Juegos" }
          );

Por si quieren indicar que el campo Id de una tabla es auto incremental, deben incluir este data annotations antes de la definición del campo:

public class NameEntity
  {
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int campoId { get; set; }
  }

En los using se deben incluir los siguientes:

usingSystem.ComponentModel.DataAnnotations;
usingSystem.ComponentModel.DataAnnotations.Schema;

lo máximo esta explicación, muy detallada para lograr el objetivo.

En caso de que tengan un error en el “ConnectionString” del siguiente tipo :
“A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.)”

Pueden solucionarlo agregando lo siguiente a su string de conexión:

"RESTO_PARAMETROS...;password=123;TrustServerCertificate=True"

Si estás usando Azure SQL la conexión tiene que ir asì:

protected override void OnConfiguring(DbContextOptionsBuilder options)
    {
        if (!options.IsConfigured)
        {
            options.UseSqlServer("Server=tcp:TUSERVER.database.windows.net,1433;Initial Catalog=TUDB;Persist Security Info=False;User ID=TUUSUARIO;Password=TUPASSWORD**;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
        }
    }

uff algo magico crear las tablas de SqlServer desde C# en Visual Studio; normalmente lo hacia manualmente con codigo SQL directamente desde el Managament Studio.

Excelente curso, ojala este mismo profesor actualice los cursos de C#

Al ejecutar los comandos en el “Package Manager Console”, surgieron probelmas con las politicas de powerSell de mi maquina. Para poder ejecutar las migraciones, desde la consola y parado sobre la carpeta “DataAccess” creada en este proyecto, puedes usar los siguientes comandos:

dotnet ef migrations add Init
dotnet ef database update

Puedo usar code first y database first en el mismo proyecto?

Excelente

Quiero compartir algo divertido que me pasó mientras miraba esta clase:
No me hab;ia percatado que en mi primera migración tenía los IDs de mis entadades como tipos int en vez de string.
Claramente, cuando me toca actualizar la base de datos, obtengo varios errores en la consola.

Me tocó borrar la carpeta de migraciones y las tablas de la base de datos. Así, volví a crear una nueva migración, agregar los datos y finalmente, ejecutar:

Update-Database

😃

la felicidad se resume en ver la BD creada

Excelente explicación. todo quedo muy claro.
Gracias profe.

Recuerda hacer la migración antes de haber el update

Si les aparece este error :
“A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.)”

Deben agregar lo siguiente a la cadena de conexión: TrustServerCertificate=True;

AQUI LA SOLUCION AL ERROR :
A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - La cadena de certificación fue emitida por una entidad en la que no se confía.)
SOLUCION
añade “TrustServerCertificate=True;” al String de coneccion ejemplo :
options.UseSqlServer(
“Server=LAPTOP-HAF9RDI7;” +
“Database=InventoryDb;” +
“TrustServerCertificate=True;” +
“User ID=sa;” +
“Password=tuclave;”
);