Mise en place de la structure de base, sans aucune fonctionnalité métier : - MaBibli.sln à la racine, avec trois projets ciblant net10.0 - MaBibli.Client : Blazor WebAssembly PWA (dotnet new blazorwasm --pwa), pages d'exemple du modèle (Counter, Weather) retirées - MaBibli.Api : ASP.NET Core, sert aussi les fichiers statiques du client (UseBlazorFrameworkFiles + MapFallbackToFile), via le package Microsoft.AspNetCore.Components.WebAssembly.Server - MaBibli.Shared : entités et enums partagés (Livre, Pret, Format, Statut), conformes au modèle de données de CLAUDE.md — AjoutePar est une simple traçabilité, Pret est une table séparée pour garder l'historique complet - EF Core + SQLite dans l'API : MaBibliDbContext, chaîne de connexion, et migration initiale InitialCreate vérifiée par un database update - dotnet-tools.json : dotnet-ef épinglé en outil local Vérifié : dotnet build sans avertissement, et dotnet publish MaBibli.Api -c Release -r linux-x64 --self-contained produit un dossier unique dont le wwwroot contient bien _framework/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
109 lines
3.3 KiB
C#
109 lines
3.3 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using MaBibli.Api.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
#nullable disable
|
|
|
|
namespace MaBibli.Api.Data.Migrations
|
|
{
|
|
[DbContext(typeof(MaBibliDbContext))]
|
|
[Migration("20260817195059_InitialCreate")]
|
|
partial class InitialCreate
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder.HasAnnotation("ProductVersion", "10.0.11");
|
|
|
|
modelBuilder.Entity("MaBibli.Shared.Entites.Livre", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("AjoutePar")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Auteur")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("CoverUrl")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime>("DateAjout")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Editeur")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Format")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Isbn")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("Statut")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Titre")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Isbn");
|
|
|
|
b.ToTable("Livres");
|
|
});
|
|
|
|
modelBuilder.Entity("MaBibli.Shared.Entites.Pret", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime>("DatePret")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime?>("DateRetour")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Emprunteur")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int>("LivreId")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("LivreId");
|
|
|
|
b.ToTable("Prets");
|
|
});
|
|
|
|
modelBuilder.Entity("MaBibli.Shared.Entites.Pret", b =>
|
|
{
|
|
b.HasOne("MaBibli.Shared.Entites.Livre", "Livre")
|
|
.WithMany("Prets")
|
|
.HasForeignKey("LivreId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Livre");
|
|
});
|
|
|
|
modelBuilder.Entity("MaBibli.Shared.Entites.Livre", b =>
|
|
{
|
|
b.Navigation("Prets");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|