Bonjour,
Je me suis lancé dans le code First en C#.
J'ai 2 entité : Frais et Attachment. Attachment contient toutes les pièces jointes des frais mais aussi d'autres tables. J'ai fais une Interface pour obliger tous les objets nécessitant un atachment d'avoir une propriété idOwner.
Et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class fee { public int id { get; set; } public Guid ownerID { get; set; }//My ForeignKey [ForeignKey("ownerID")] public virtual ICollection<attachement> Attachements { get; set; } } public class attachement { public int id { get; set; } public Guid parentId { get; set; }//Other part of link }
quand je fais add-migration:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<attachement>().ToTable("attachement"); modelBuilder.Entity<fee>().ToTable("frais").HasMany(dep => dep.Attachements).WithOptional().Map(t => t.MapKey("parentId")); }
J'ai fais plein d'essai dans tous les sens, mais visiblement pas le bon ...The ForeignKeyAttribute on property 'Attachements' on type 'fee' is not valid. The foreign key name 'ownerID' was not found on the dependent type 'attachement'. The Name value should be a comma separated list of foreign key property names.
Je précise qu'un fee peut avoir plusieurs attachment mais qu'un attachment ne peut être qu'un objet (Fee si les ownerID=parentid )
Partager