Новый проект .NET 6

Работа продолжается…

Это руководство поможет вам настроить новый проект .NET 6, используя PostgreSQL в качестве базы данных.

Создайте проект

dotnet new webapi -o myapp
cd myapp
dotnet new gitignore
Вход в полноэкранный режим Выход из полноэкранного режима

Настройка существующего проекта с использованием SQL Server на PostgreSQL

Этот сценарий предполагает, что вы использовали EntityFramework и имеете существующие модели и конфигурацию для SQL Server.

Настройка библиотек Entity Framework и PostgreSQL

dotnet add package Npgsql
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Design
Войдите в полноэкранный режим Выйти из полноэкранного режима

В appsettings.json добавьте строку подключения для PostgreSQL.

"ConnectionStrings": {
    "DefaultConnection": "you_can_retain_existing_connection",
    "PgConnection": "Host=localhost;Database=mydb;Username=myuser;Password=mypassword"
  }
Войдите в полноэкранный режим Выйдите из полноэкранного режима

В Program.cs настройте DbContext

var connectionString = builder.Configuration.GetConnectionString("PgConnection");
builder.Services.AddDbContext<MYDB>(opt => opt.UseNpgsql(connectionString));
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Запустите миграции

dotnet ef migrations add InitialCreate
dotnet ef database update
Войти в полноэкранный режим Выйти из полноэкранного режима

Создать модели

:WIP:

Обратное проектирование существующей базы данных

Этот сценарий применяется, когда у вас есть существующая структура базы данных. Вы можете создать модели автоматически, выполнив одну из следующих команд. Параметр —output-dir задает расположение сгенерированных файлов. Если вы не укажете этот параметр, то файлы будут созданы в корневой папке.

https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding?tabs=dotnet-core-cli

-- SQL Server source
dotnet ef dbcontext scaffold "Data Source=(localdb)MSSQLLocalDB;Initial Catalog=Chinook" Microsoft.EntityFrameworkCore.SqlServer" --output-dir Models

-- PostgreSQL source
dotnet ef dbcontext scaffold "Host=my_host;Database=my_db;Username=my_user;Password=my_pw" Npgsql.EntityFrameworkCore.PostgreSQL --output-dir Models
Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
Procodings.ru
Добавить комментарий