10 дней .Net Aspire: День 4 — Использование Oracle Component в Visual Studio

10 дней .Net Aspire: День 4 — Использование Oracle Component в Visual Studio

2 сентября 2024 г.

Пошаговое руководство по использованию компонента .Net Aspire Oracle в Visual Studio.

.Net Aspire Framework используется для разработки облачных и готовых к производству распределенных приложений. Он состоит из компонентов для обработки облачных проблем, таких какРедис, Постгрес, и т. д.

Предпосылки

  • Установить.Net 8
  • УстановитьVisual Studio 2022версия 17 или выше
  • Рабочая нагрузка .Net Aspire
  • Среда выполнения контейнера, напримерРабочий стол Docker

10-дневный челлендж .Net Aspire

Цели

Узнайте, как создать начальный проект с использованием .Net Aspire с компонентом Oracle EF Core.

Образец Github: Структура решения разделена на следующие проекты:-

  • DotnetAspireChallenge.ApiService
  • DotnetAspireChallenge.AppHost
  • DotnetAspireChallenge.ServiceDefaults
  • DotnetAspireChallenge.Web

Начиная

Шаг 1: Установите следующий пакет NuGet

Установите следующий пакет Nuget в последующий проект «DotnetAspireChallenge.AppHost

dotnet добавить пакет Aspire.Hosting.Oracle

В приведенном выше проекте зарегистрируйте базу данных сервера и используйте соединение Oracle, используя следующий код.

var oracle = builder.AddOracle("oracle")
.AddDatabase("oracleledb");

var apiService = builder.AddProject<Projects.DotnetAspireChallenge_ApiService>("apiservice")
.WithReference(oracle);

Шаг 2: Установите еще один пакет NuGet

Установите следующий пакет Nuget в последующий проект «DotnetAspireChallenge.ApiService

dotnet добавить пакет Aspire.Oracle.EntityFrameworkCore

затем зарегистрируйте контекст в файле Program.cs следующим образом

builder.AddOracleDatabaseDbContext<OracleDbContext>("oracledb");

Шаг 3: Создайте класс «Клиент»

public class Customer
{
public int Id { get; set; }

[Обязательно]
public string Title { get; set; } = string.Empty;

[Обязательно]
public string Description { get; set; } = string.Empty;
}

Шаг 4: Создайте класс расширения

Создайте класс расширения и зарегистрируйте минимальный метод API get для демонстрации использования контекста Oracle EF в API Service.

public static class AspireOracleExtension
{
public static void MapOracleAspireEndpoint(this WebApplication app)
{
app.MapGet("/oracle", async (OracleDbContext oracleDbContext) =>
{
await oracleDbContext.Customer.AddAsync(new Customer()
{
Title = "test@gmail.com",
Description = "sukh"
});
int rows = await oracleDbContext.SaveChangesAsync();
if (rows > 0)
{
return await oracleDbContext.Customer.FirstOrDefaultAsync();
}
else
{
return null;
}
});

}
}

внутренний класс OracleDbContext(DbContextOptions параметры) : DbContext(параметры)
{
public DbSet<Customer> CustomersPgsql => Set<Customer>();
}

и наконец, зарегистрируйтесь в файле Program.cs

приложение.MapOracleAspireEndpoint();

Шаг 5: Нажмите конечную точку GET

Наконец, перейдите в своем браузере к URL-адресу GET, показанному ниже. Он вставит указанного клиента в базу данных Oracle, извлечет последнюю вставленную строку и отобразит ее в качестве ответа.

Добавьте дополнительные свойства строки подключения, используя синтаксис JSON

{
"Aspire": {
"Oracle": {
"EntityFrameworkCore": {
"DisableHealthChecks": true,
"DisableTracing": true,
"DisableMetrics": false,
"DisableRetry": false,
"Timeout": 30
}
}
}
}

Поздравляем!..!! Вы успешно интегрировали компонент Oracle в проект .Net Aspire.

Проект Github:GitHub — ssukhpinder/DotnetAspireChallenge: 10-дневный вызов .Net Aspire Challenge

Шпаргалка:Шпаргалки — .Net


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE