Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liaartem/asp_restful_web_api
ASP.NET Core 8 RESTful Web API (Entity Framework Core, Azure SQL, MS SQL, Docker, Docker Compose)
https://github.com/liaartem/asp_restful_web_api
asp-net-core azure docker entity-framework-core sql-server webapi
Last synced: 21 days ago
JSON representation
ASP.NET Core 8 RESTful Web API (Entity Framework Core, Azure SQL, MS SQL, Docker, Docker Compose)
- Host: GitHub
- URL: https://github.com/liaartem/asp_restful_web_api
- Owner: LiaArtem
- Created: 2022-05-12T10:17:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-15T08:02:44.000Z (about 1 month ago)
- Last Synced: 2024-11-15T09:19:13.486Z (about 1 month ago)
- Topics: asp-net-core, azure, docker, entity-framework-core, sql-server, webapi
- Language: TSQL
- Homepage:
- Size: 57.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ASP_RESTful_Web_API
ASP.NET Core 9 RESTful Web API (Entity Framework Core, Azure SQL, MS SQL, Docker, Docker Compose)-------------------------------------------------------------------------------------
- Первинне створення проекту (з автоматичним розгортанням структури бази даних):
--------------------------------------------------------------------------------------
1) Вибираємо у VS проект ASP.NET Core Web API
2) Вибираємо NuGet пакети:
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore.Design
- Microsoft.EntityFrameworkCore.Tools
3) Запускаємо в package manager colsole -> Консоль диспетчера пакетів (через пошук) для розгортання структур таблиці BUFF_IMPORT_DATA
PM> Scaffold-DbContext "Data Source = localhost; Initial Catalog = DatabaseTestDB; Integrated Security = True; Persist Security Info = False; Pooling = False; MultiActiveResultSets = False; Connect Timeout = 60; EntityFrameworkCore.SqlServer -OutputDir Models -Context "ASP_NET_Code_RESTful_Context" -DataAnnotations -Tables "BUFF_IMPORT_DATA"
4) Додаємо контролер
Папка Controllers -> Додати -> Створити шаблонний елемент -> Контролер API з діями, що використовує Entity Framework------------------------------------------------------------------------------------------------
-- Створення контейнера в Docker із підключенням до бази даних MSSQL сервер (Docker Compose)
------------------------------------------------------------------------------------------------
1) У проекті VS додаємо Docker -> Додати -> Підтримка Docker -> Target OS (Linux)
Генерується Dockerfile
2) У проекті VS -> Складання -> Зібрати рішення
3) У проекті VS додаємо Docker Compose -> Додати -> Підтримку оркестратора контейнерів -> Docker Compose -> Target OS (Linux)
Генерується docker-compose.yml
4) Створюємо пов'язані контейнери за допомогою Docker Compose у Windows Powershell:
-> Шлях до проекту -> cd "d:\Інші\Project\Project C#\ASP_RESTful_Web_API\"
-> docker-compose -f docker-compose.yml up
5) Перевіряємо
-> http://localhost:49900/swagger/index.html------------------------------------------------------------------------------------------------
-- Створення контейнера в Docker із підключенням до бази даних MSSQL сервер (Docker)
------------------------------------------------------------------------------------------------
1) У проекті VS додаємо Docker -> Додати -> Підтримка Docker -> Target OS (Linux)
Генерується Dockerfile
2) У проекті VS -> Складання -> Зібрати рішення
3) Створення мережі в Docker із підключенням MSSQLContainer
- У Windows PowerShell запускаємо:
-> docker network create docker-network
-> docker network connect docker-network MSSQLContainer
Перевіряємо налаштування мережі Docker
-> docker network inspect docker-network
(Приклад: MSSQLContainer - 172.18.0.2)
4) Налаштування DB:
- підключення MS SQL 2022 Docker (.\appsettings\appsettings_mssql_docker.json замінити файл appsettings.json)
- прописуємо IP 172.18.0.2 у appsettings.json
5) Створюємо образ у Windows Powershell:
-> Шлях до проекту -> cd "d:\Інші\Project\Project C#\ASP_RESTful_Web_API\"
-> docker build -t asprestfulwebapi:work .
6) Створюємо та запускаємо контейнер у Windows Powershell:
-> docker run --name ASP_RESTful_Web_API_Work --restart=always -p 49900:80 -d asprestfulwebapi:work
7) Мережа в Docker із підключенням ASP_RESTful_Web_API_Work
- У Windows PowerShell запускаємо:
-> docker network connect docker-network ASP_RESTful_Web_API_Work
Перевіряємо налаштування мережі Docker
-> docker network inspect docker-network
(Приклад: ASP_RESTful_Web_API_Work - (172.18.0.3) 172.19.0.3)
8) Перевіряємо
-> http://localhost:49900/swagger/index.html- Структуру бази даних для MS SQL 2022 Docker можна взяти із проекту Github (#Docker-Win11)
------------------------------------------------------------------------------------------------
-- Створення контейнера в Docker з підключенням до бази даних AzureSQL або окремого MSSQL сервера
------------------------------------------------------------------------------------------------
1) У проекті VS додаємо Docker -> Додати -> Підтримка Docker -> Target OS (Linux)
Генерується Dockerfile
2) У проекті VS -> Складання -> Зібрати рішення
3) Налаштування DB:
- підключення AzureSQL (.\appsettings\appsettings_azuresql.json замінити файл appsettings.json)
- підключення MS SQL 2022 без пароля (.\appsettings\appsettings_mssql.json замінити файл appsettings.json)
- Підключення MS SQL 2022 з паролем (.\appsettings\appsettings_mssql_SA.json замінити файл appsettings.json)
4) Створюємо образ у Windows Powershell:
-> Шлях до проекту -> cd "..\Project\Project C#\ASP_RESTful_Web_API\"
-> docker build -t asprestfulwebapi:work .
5) Створюємо та запускаємо контейнер у Windows Powershell:
-> docker run --name ASP_RESTful_Web_API_Work --restart=always -p 49900:80 -d asprestfulwebapi:work
6) Перевіряємо
-> http://localhost:49900/swagger/index.html- Структуру бази даних для MSSQL можна взяти із проекту Github (# Microsoft_SQL_Server_2022)
- Структуру бази даних для AzureSQL можна взяти із проекту Github (# Microsoft Azure SQL Databases)