Fluent API Et Annotations EFCore
Fluent API Et Annotations EFCore
Core
1. Configuration de l’entité
Méthode Description Exemple
Entity<TEntity>() Configure une entité modelBuilder.Entity<Student>()
4. Propriétés
Property() Accès à une propriété .Property(p => p.Nom)
HasColumnName() Renomme la colonne .HasColumnName("FullName")
HasColumnType() Type SQL .HasColumnType("nvarchar(100)")
HasMaxLength() Longueur max .HasMaxLength(50)
IsRequired() Valeur obligatoire .IsRequired()
HasDefaultValue() Valeur par défaut .HasDefaultValue(true)
HasPrecision() Précision décimale .HasPrecision(10, 2)
ValueGeneratedOnAdd() Auto incrément .ValueGeneratedOnAdd()
5. Relations
One-to-Many Relation 1-N HasOne(e => e.Classe).WithMany(c => c.Etudi
One-to-One Relation 1-1 HasOne(e => e.Adresse).WithOne(a => a.Etudian
Many-to-Many Relation N-N HasMany(e => e.Cours).WithMany(c => c.Etudian
6. Index
HasIndex() Crée un index .HasIndex(e => e.Email)
IsUnique() Index unique .HasIndex(e => e.Email).IsUnique()
7. Comportement de suppression
OnDelete() Définit le comportement .OnDelete(DeleteBehavior.Cascade)
8. Contraintes
HasCheckConstraint() Ajoute une contrainte SQL .HasCheckConstraint("CK_Age", "Age >= 18")