Modification de l'étude de cas
Bonjour,
Je remercie l'auteur du tutoriel. Je l'utilise pour apprendre l'utilisation d'Entity Framework.
Je recherchais un moyen de spécifier dans le code la contrainte d'unicité de la table RV.
Je n'ai pas trouvé comment faire.
Mais je suis tombé sur la possibilité de spécifier une clé primaire composé dans la classe "RdvMedecinsContext" dans la méthode "OnModelCreating". Personnellement, je trouve dommage de spécifier la clé composé dans le contexte plutôt que dans l'entité.
Au niveau conception, s'agit il d'une solution convenable ? (autrement dit, n'ai je pas fais une faute de conception)
Elle est spécifiée par le code suivant :
Code:
1 2
|
modelBuilder.Entity<Rv>().HasKey(r => new { r.Jour, r.ClientId }); |
Cependant, je ne vois pas comment manipuler cette clé composé. J'ai donc pensé à cette solution.
En modifiant l'entité Rv pour que l'id ne soit pas une clé primaire mais plutôt un hashcode défini
ci-dessous :
Code:
1 2 3 4 5 6 7
|
[NotMapped]
public virtual int? Id {
get {
return this.jour.GetHashCode() + this.clientId.GetHashCode() ;
}
} |
Il s'agit juste d'une solution théorique que je propose et dont j'aimerais avoir des critiques...