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
Оригинал