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

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

2 Días
18 Hrs
6 Min
48 Seg

Migraciones

20/38
Resources

How to configure a SQL Server connection?

Configuring a SQL Server connection is an essential step to efficiently manage databases. This process starts by configuring specific parameters within a protected method that is overwritten to suit our requirements. This method is known as OnConfiguring.

What is the first step in establishing the connection?

The first step is to create an object that references our database context option configuration. This object will belong to the DbContextOptionsBuilder class. Through this object, we will manage if a connection string is already configured. If not, we will proceed to configure it through code.

How is the connection string defined?

To define the connection string, the appropriate library must be used, such as Microsoft.EntityFrameworkCore.SqlServer, which must be installed if it is not available. The connection string must include:

  • Server name: Identified for example as LM, which is an example of the host name.
  • Database name: Which can be InventoryDB or any name you wish to assign.
  • Credentials: This includes the user name, usually SA, and its associated password.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){ if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer("Server=LM;Database=InventoryDB;User ID=SA;Password=myPassword;"); } }}

How to ensure correct installation of dependencies?

If you encounter problems when compiling or running the project, you may need to install some additional packages from the NuGet package manager, such as Microsoft.EntityFrameworkCore.Design. This is done through the package manager console.

Managing migrations for databases

Once the connection is established, it is crucial to manage migrations. These allow you to apply reflections of changes to the database schema from the source code.

How is a new migration created?

To register changes to the data model, you must create a new migration using the Add-Migration command followed by the descriptive name of the migration. This should be done in the appropriate console ensuring that the correct project is selected as the start project.

Add-Migration InitialCreate

What to do if an error occurs when creating the migration?

Occasionally, generating a migration may throw errors related to configurations. Make sure that the DataAccess project is set as the starting project temporarily to handle migrations, upgrades and database loading.

Database creation and loading

After preparing the migrations, the next step is to build and load the actual database. Even when the SQL code for the database structure is ready, its implementation on the SQL server includes some additional steps that will be covered in future classes. In addition, we will learn how to perform data pre-loads to ensure better management of the computing environment during development and testing. Continue exploring this interesting path of database management!

Contributions 23

Questions 10

Sort by:

Want to see more contributions, questions and answers from the community?

Otra forma de ejecutar el comando sin necesidad de poner DataAccess como Startup en Visual Studio es:

add-migration NombreMigracion -s DataAccess

con “-s” indicamos que utilice el ensamblado DataAccess como Startup y asi no debemos estar cambiando en Visual Studio nuestro proyecto de inicio cada vez que necesitemos hacer una migración.

Hola a todos, quisiera añadir la solucion a un error que me surgio, es algo tonto en realidad pero puede que les pase lo siguiente al intentas ejecutar el command:

Could not load assembly 'Inventary'. Ensure it is referenced by the startup project 'DataAccess'.

para solucionar esto veriffiquen en la parte superior de la consola de administracion de paquetes que en el item de Proyecto predeterminado este seleccionado DataAccess

Para los que utilizan la autenticación del usuario de Windows para SQLServer esto le puede ayudar en caso de tener problemas con el connection string.
Options.UseSqlServer(“Server=localhost; Database=DatabaseName; Trusted_Connection=True”);

En VSCode el comando equivalente en la terminal de powershell sería
dotnet ef migrations add FirstMigration

- Hacer add migration en Mac M1 con PostgreSQL -
Visual Studio para Mac no tiene el “Package manager Console”, por lo que es necesario hacer uso de la terminal.app de Mac para poder ejecutar los comandos de dotnet.
Los pasos son los siguientes:
1 - Abrir la terminal de Mac y ejecutar el siguiente comando: dotnet tool install --global dotnet-ef
2 - Dirígete a Visual Studio para instalar el paquete NuGet “Microsoft.EntityFrameworkCore.Design” (hacerlo en la misma carpeta que indica el curso).
3 - Pásate a la terminal y haciendo uso del comando cd ingresa al directorio dónde se encuentra tu solución.
4 - Ejecuta el comando para realizar la migración: dotnet ef migrations add escribeaquíelnombredetumigración
5 - Si no marca error se debe crear la carpeta Migrations en Visual Studio como se muestra en el curso.

Para los que tengan problemas al iniciar con un usuario de SQL Server dentro de Propiedades -> Seguridad, se encuentra la opción para activar la autenticación con SQL Server y Windows Authentication.

Para realizar la migración utilizando Visual Code vamos a ejecutar dentro del mismo orden las siguientes entradas

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

dotnet add package Microsoft.EntityFrameworkCore.Tools

dotnet tool install --global dotnet-ef

dotnet ef Migrations add FirstMigration

Recuerda ejecutarlos dentro de la carpeta “DataAccess”

en esta clase de sobreescribe el metodo OnConfiguring, que proviene de la clase DBContext, en este metodo se especifica la conexion al motor de base de datos SQL Server.

Pasos para crear cadena de conexion.
1.Instalar el nuget Microsoft.EntityFrameworkCore.SqlServer
2.en el metodo OnConfiguring , hacer uso del objeto de tipo DbContextOptionsBuilder , para llamar al metodo UseSqlServer, este metodo recibe la cadena de conexion al motor de base de datos, ejemplo de la cadena de conexion “Server=XXX; Database=XXX; User=XXX; Password=XXX”.

Pasos para la migración:
1.Abrir la Consola de Manejador de Paquetes o en ingles Package Manager Console
2.instalar el nuget Microsoft.EntityFrameworkCore.Tools
3.Seleccionar el proyecto DataAcces.
4.Establecer como proyecto de inicio a DataAccess, en ingles seria Set as Startup Project
5.Ejecutar el comando add-migration FirstMigration

Despues de los pasos anteriores todavia no se ha creado la base de datos en el motor SQLSERVER, hace falta ejecutar otros comando, unicamente se ha creado la migración


Si les da error después de asignar DataAccess como predeterminado, en la consola: En proyecto predeterminado cambien el nombre del proyecto a DataAccess

Si de pronto alguien tiene un fallo al momento de ejecutar

add-migration firsMigration

Primero se debe verificar que ninguna de las otras dos soluciones presente fallas, esto se verifica depurando la solución.

Tengo un problema con la migración y las versiones de EF puesto que usaba en el vídeo EntityFramework Core vamos por NET 8(aunque para este proyecto use 6), me pide que habilite las migraciones, luego que no encuentra el assembly 'DataAccess', en fin... Alguien sabe si hay alguna actualización del curso?? la verdad es que está muy bien, pero a partir de la migración se tuerce todo

La migración la puedes hacer también desde CMD directorio del repositorio con el comando:

dotnet ef migrations add InitialCreate

Para los que quieran ocupar dotnet dejo los siguientes comandos


Para crear un proyecto blazor webassembly

 // Crear un proyecto blazor webassembly

 dotnet new blazorwasm -o "Nombre del proyecto" 

 // Crear un Class Library

 dotnet new classlib --name "Nombre del proyecto"

 // Agregar una referencia a un proyecto

 dotnet add reference "../Nombre del proyecto/Nombre del proyecto.csproj"

 // En la carpeta donde se encuentra el DBContext se tiene que ejecutar la siguiente serie de comandos para crear las migraciones y EntityFrameworkCore

 dotnet add package Microsoft.EntityFrameworkCore -> Agregar el paquete de EntityFrameworkCore
 dotnet add package Microsoft.EntityFrameworkCore.SqlServer -> Agregar el paquete de EntityFrameworkCore para SQL Server
 dotnet add package Microsoft.EntityFrameworkCore.Tools -> Agregar el paquete de EntityFrameworkCore para las herramientas

 // Para las migraciones

 dotnet ef migrations add InitialCreate -> Crear la migracion inicial
 dotnet ef database update -> Actualizar la base de datos

 // La cadena de conexion en el dbcontext puedes ocupar la siguiente como referencia

 optionsBuilder.UseSqlServer("Server= "Nombre de Servidor"; Database="Nombre Base de Datos"; User Id="Usuario SQL";Password="Contraseña"; TrustServerCertificate=True");

Algo que me pasa con frecuencia es que no me deja conectar por tema de un certificado o algo así, si te pasa también puedes usar

Encrypt=False;

Es muy común que cuando usamos SqlServer tengamos la autenticacion de windows, para conectarnos mediante ese método podemos usar

Trusted_Connection=True;

Al ejecutar me sale esto

Ayudaaaa

Hasta ahora todo perfecto!!

Todos los modelos tienen que tener el decorador DataAnotation [Key] sino les va salir un error de falta primary key.

a mi me genero ese error, solo le agregue [NotMapped] a Storage en InputOutputEntity y a Wharehouse en StorageEntity no se si es que hice algo mal

namespace Entities
{
    public class StorageEntity
    {
        [Key]
        [StringLength(50)]
        public string StorageId { get; set; }

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

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

        //relacion con productos
        public string ProductId { get; set; }
        public ProductEntity Product { get; set; }

        //relacion con bodegas
        public string WharehouseId { get; set; }
        [NotMapped]
        public ICollection<WharehouseEntity> Wharehouse { get; set; }

        //relacion con movimientos

        public ICollection<InputOutputEntity> InputOuputs { get; set; }


    }
}

Si no te aparece el método UseSqlServer, deberías revisar que tengas las dependencias correctas del administrador de paquetes Nuget

Hasta el momento de esta clase tenemos instalas las dependencias:
Microsoft.EntityFrameworkCore (3.1.1)
Microsoft.EntityFrameworkCore.SqlServer (3.1.1)
Microsoft.EntityFrameworkCore.Tools (3.1.1)

Hola ¿Cuál sería la mejor práctica para almacenar la cadena de conexión en una arquitectura cómo la que estamos utilizando? Gracias.

Que debo hacer en el caso de que me aparece este error:

No database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext.