Para utilizar la autenticación de Windows en SQL Server Management Studio se debe utilizar:
<code> "ConnectionStrings": {
"cnTareas":"Data Source=.\\SQLEXPRESS;Database=TareasDB;Integrated Security=True"
}
Introducción
Bienvenida y presentación
Prerrequisitos
Conexión a base de datos
¿Qué es un ORM en programación?
Introducción a Entity Framework
Creación de proyecto .NET con Entity Framework
Iniciando con Entity Framework
Creación de modelos
Configuración de Entity Framework
Mapeo de modelos usando atributos
Utilizando base de datos en memoria
Conectado a base de datos SQL server
Agregando conexión al archivo appsettings
Utilizando Fluent API
Introducción a Fluent API
Creando modelo de categoría con Fluent API
Creando modelo de tarea con Fluent API
Conectado a base de datos con Fluent API
Migraciones
¿Qué son las migraciones?
Inicializar las migraciones
Creando una migración
Agregando datos semilla
Consumo de datos
Obteniendo datos con Entity Framework
Guardando datos con Entity framework
Actualizando datos con Entity framework
Eliminando datos con Entity framework
Cierre del curso
Continúa tu camino desarrollando
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Miguel Teheran
Instalación SQL server:
https://docs.microsoft.com/sql/database-engine/install-windows/install-sql-server
Ejemplo de cadena de conexión para SQL server:
"Data Source=server;Initial Catalog=db;user id=sa; password=pass";
Configuración para PostgreSQL:
Enlace de descarga:
https://www.postgresql.org/download/
Paquete nuget:
https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL/
Comando para instalar el paquete nuget:
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
Configuración de PostgreSQL en la clase Program.cs:
services.AddDbContext<HotelContextDB>(options =>
options.UseNpgsql(“Server=postgreServer;Database=DbName;Port=5432;User Id=user;Password=password;”));
Ejemplo de con cadena de conexión de PostgreSQL:
Server=postgreServer;Database=DbName;Port=5432;User Id=user;Password=password;
Aportes 15
Preguntas 5
Para utilizar la autenticación de Windows en SQL Server Management Studio se debe utilizar:
<code> "ConnectionStrings": {
"cnTareas":"Data Source=.\\SQLEXPRESS;Database=TareasDB;Integrated Security=True"
}
Para quien lo este haciendo en postgres, quedaria asi:
//program.cs
builder.Services.AddNpgsql<TaskContext>(builder.Configuration.GetConnectionString("TaskDb"));
//archivo appsettings.json
"ConnectionStrings": {
"TaskDb" :"Server=postgreServer;Database=StringEF;Port=5430;Username =my_user;Password=root;Host=localhost;"
}
Les comparto el siguiente link donde encontraran cómo guardar secretos en la aplicación y así evitar que nuestro password quede almacenado en el sistema de control de fuentes (en mi caso git).
https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-6.0&tabs=linux
¿Quieres setear valores por defecto en SQL Server?
Lee la doc.: Fluent API
https://learn.microsoft.com/en-us/dotnet/csharp/ les comparto la documentacion oficial
Para agregar una capa de seguridad en nuestra aplicativo y que los datos de conexion a nuestra base de datos no queden insertado como una cadena en el codigo, podemos hacer uso del archivo appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"cnHomework": "Server=localhost;Database=TareasDB;User Id=SA;Password=mySecret1234;MultipleActiveResultSets=true;"
}
}
Creamos nuestra llave valos dentro de ConnectionStrings
con el nombre que nosotros queramos darle, en mi caso cnHomework
y aqui vamos a poner nuestra cadena de conexion
En el archivo Program.cs
vamos a hacer uso de la clase Configuration
para llamer a nuestra cadena accediendo al nombre que le hallamos dado, quedando de la siguiente manera:
builder.Services.AddSqlServer<HomeworkContext>(builder.Configuration.GetConnectionString("cnHomework"));
Levantamos nuevamente nuestra aplicacion y debe funcionar sin problema.
Hay que tener en cuenta también el uso de User Secrets que es muy útil cuando estamos desarrollando.
¿Que son User Secrets?
User secrets son datos especificos que contienen información sensible tales como contraseñas de administrador, claves de API, cadenas de conexión,etc… por lo que necesitamos mantenerlas fuera de nuestro repositorio.
Secret Manager es una herramienta que permite guardar user secrets en un archivo fuera del código fuente de nuestra aplicación.
Ahora podemos agregar todos los user secrets que necesitemos.
Fuente: User Secrets en ASP.NET Core
para conectar con **Postgree **SQL builder.Services.AddDbContext<TareasContext>(options =>
options.UseNpgsql(“Server=url;Database=abcdfe;User Id=abcdfs;Password=dada por el proveedor;”));
En mi caso use https://www.elephantsql.com/
Pueden usar la extensión de VSC rangav.vscode-thunder-client
Fck de haber sabido un video antes haha, ya lo conecté a sqlite3 y me costó un huevo xd
// To connect to PostgresSQL
builder.Services.AddNpgsql<TrainingContext>("Server=localhost; Port=5432; Database=TaskDb; User Id=username; Password=secretpassword");
app.MapGet("/dbConexion", async ([FromServices] TrainingContext dbContext) =>
{
dbContext.Database.EnsureCreated();
return Results.Ok("Database created in memory: " + dbContext.Database.IsNpgsql());
});
Tambien puedes usar:
Results.Ok("Base de datos en memoria "+ dbContext.Database.IsSqlServer());
Para cer la conexion en true en postman
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?