Bonjour,

Je crée en ce moment un bdd code first, dont le principe est le suivant :

Une table principale désignant les "Utilisateurs" (ID, nom, prenom, etc), et une table "Pret" (ID, LocataireId, PropriétaireId, etc).

Dans ma table Pret, j'ai donc 2 champs, dont les clés sont des clés étrangères pointant sur la table Utilisateurs. j'ai cependant un soucis lorsque je cherche à mettre à jour la base de données (Update-Database) dans le console-manager.

voila la classe pret :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 public class Pret
    {
        [Key]
        public int Id { get; set; }
 
        [Required]
        public int ProprietaireId { get; set; }
 
        [Required]
        [ForeignKey("ProprietaireId")]
        public virtual Utilisateur Proprietaire { get; set; }
 
        [Required]
        public int LocataireId { get; set; }
 
        [Required]
        [ForeignKey("LocataireId")]
        public virtual Utilisateur Locataire { get; set; }
 
        public string Libelle { get; set; }
 
        [Required]
        public int CategorieId { get; set; }
 
        [ForeignKey("CategorieId")]
        public virtual Categorie Categorie { get; set; }
 
        public DateTime DateDebut { get; set; }
 
        public DateTime? DateFin { get; set; }
    }
l'erreur qui survient lors de l"update-database" est la suivante :
L'introduction d'une contrainte FOREIGN KEY 'FK_dbo.Prets_dbo.Utilisateurs_LocataireId' sur la table 'Prets' peut provoquer des cycles ou des accès en cascade multiples. Spécifiez ON DELETE NO ACTION ou ON UPDATE NO ACTION, ou modifiez d'autres contraintes FOREIGN KEY.
Je précise que les tables sont vierges, et ne contiennent donc aucune données.

Que faire ?

Error