Bonjour, j'ai deux classes définies comme ci-dessous
La classe A référence une autre classe (UserAccount) par le champ UserName qui est PK dans ces deux tables, et donc FK dans la tables A.
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 public class ClassA { [Key] public string UserName { get; set; } [ForeignKey("UserName")] public virtual Account.UserAccount User { get; set; } public virtual List<ClassB> BEntities{ get; set; } } public class ClassB { [Key, Column(Order = 0)] public string OwnerName { get; set; } [Key, Column(Order = 1)] public string Code { get; set; } [ForeignKey("OwnerName")] public virtual ClassA AEntity { get; set; } [ForeignKey("Code")] public virtual ClassC CEntity { get; set; } }
Ma classe B a besoin d'une clef composite. Mais le problème vient, semble-t-il, du fait qu'il référence une PK qui soit aussi FK. J'ai l'erreur ci-dessous :
Please Help.L'instruction INSERT est en conflit avec la contrainte FOREIGN KEY "FK_dbo.ClassB_dbo.ClassA_OwnerName". Le conflit s'est produit dans la base de données "MaBase", table "dbo.ClassA", column 'UserName'.
L'instruction a été arrêtée.
P.S.: J'utilise EF6
Partager