Spaces:
No application file
No application file
| using Microsoft.AspNetCore.Builder; | |
| using Microsoft.AspNetCore.Http; | |
| using Microsoft.AspNetCore.Mvc; | |
| using Microsoft.EntityFrameworkCore; | |
| using Microsoft.Extensions.DependencyInjection; | |
| using Microsoft.Extensions.Hosting; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Threading.Tasks; | |
| var builder = WebApplication.CreateBuilder(args); | |
| // Configure the database | |
| builder.Services.AddDbContext<AppDbContext>(options => | |
| options.UseSqlite("Data Source=users.db")); | |
| builder.Services.AddEndpointsApiExplorer(); | |
| builder.Services.AddSwaggerGen(); | |
| var app = builder.Build(); | |
| if (app.Environment.IsDevelopment()) | |
| { | |
| app.UseSwagger(); | |
| app.UseSwaggerUI(); | |
| } | |
| app.UseHttpsRedirection(); | |
| // Seed the database | |
| using (var scope = app.Services.CreateScope()) | |
| { | |
| var db = scope.ServiceProvider.GetRequiredService<AppDbContext>(); | |
| db.Database.Migrate(); | |
| if (!db.Users.Any()) | |
| { | |
| db.Users.AddRange(new User { Name = "Alice" }, new User { Name = "Bob" }); | |
| db.SaveChanges(); | |
| } | |
| } | |
| // Define API endpoints | |
| app.MapGet("/users", async (AppDbContext db) => | |
| await db.Users.ToListAsync()); | |
| app.Run(); | |
| // Database context | |
| class AppDbContext : DbContext | |
| { | |
| public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } | |
| public DbSet<User> Users => Set<User>(); | |
| } | |
| // User model | |
| class User | |
| { | |
| public int Id { get; set; } | |
| public string Name { get; set; } | |
| } | |