Spaces:
No application file
No application file
File size: 1,430 Bytes
44fe768 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
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; }
}
|