diff --git a/p08_BDD_EntityFramework/Relationships.md b/p08_BDD_EntityFramework/Relationships.md index 0c3d8a0..9ef36fc 100644 --- a/p08_BDD_EntityFramework/Relationships.md +++ b/p08_BDD_EntityFramework/Relationships.md @@ -1,17 +1,30 @@ # Relationships -On parle de propriété de navigation dès qu'on a une propriété qui ne peut pas être une donnée simple (string, nombre, bool...). -Par défaut (ie conventions d'écriture), dans une relation, -c'est toujours la primary key qui est utilisée. -On peut utiliser une autre clé en passant par la notation Fluent. +On parle de propriété de navigation dès qu'on a une propriété qui ne peut pas être une donnée simple (string, nombre, bool...). +Par défaut (ie conventions d'écriture), dans une relation, +c'est toujours la primary key qui est utilisée. +On peut utiliser une autre clé en passant par la notation Fluent. -Le plus commun c'est d'avoir des propriétés de navigation -définies sur les deux entités et une clé étrangère (foreign key) -du côté de l'entité dépendante. -* si on une paire de propriétés de navigation sur les deux entités, l'une sera l'inverse de l'autre -* si l'entité dépendante possède une propriété dont le nom vérifie l'un des patrons suivants, alors elle est configurée comme une foreign key: +Le plus commun c'est d'avoir des propriétés de navigation +définies sur les deux entités et une clé étrangère (foreign key) +du côté de l'entité dépendante. +* si a on une paire de propriétés de navigation sur les deux entités, l'une sera l'inverse de l'autre +* si l'entité dépendante possède une propriété dont le nom vérifie l'un des patrons suivants, alors elle est configurée comme une foreign key: * `````` * ```Id``` * `````` - * ```Id``` \ No newline at end of file + * ```Id``` +* si on a aucune propriété de clé étrangère, une shadow property est créée avec le nom `````` ou ``````. +* Single Property Navigation vs. Pair Navigation Property +* Cascade Delete +* ex01: single navigation property (conventions & data annotations) +* ex02: single navigation property (fluent api) +* ex03: one to one (conventions & data annotations) +* ex04: one to one (fluent api) +* ex05: one to many (conventions & data annotations) +* ex06: one to many (fluent api) +* ex07: many to many (conventions & data annotations) +* ex08: many to many (fluent api) +* ex09: shadow property +* ex10: dictionaries (fluent api) \ No newline at end of file