No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
13H
15M
52S

Agregando conexi贸n al archivo appsettings

12/25
Recursos

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 12

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

En este sitio podemos encontrar una lista de 鈥渃onnection strings鈥 con diferentes atributos que podemos usar seg煤n la necesidad:
https://www.connectionstrings.com/sql-server/

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;"
  }

驴Quieres setear valores por defecto en SQL Server?
Lee la doc.: Fluent API

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

https://learn.microsoft.com/en-us/dotnet/csharp/ les comparto la documentacion oficial

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

Agregando conexi贸n al archivo appsettings


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.

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