J'ai un mental débat avec moi à chaque fois que je commence à travailler sur un nouveau projet et je suis en train de concevoir mon POCOs. J'ai vu de nombreux tutoriels/des exemples de code qui semblent favoriser les associations de clé étrangère:
Clé étrangère de l'association
public class Order
{
public int ID { get; set; }
public int CustomerID { get; set; } // <-- Customer ID
...
}
Par opposition à des associations indépendantes:
Association indépendante
public class Order
{
public int ID { get; set; }
public Customer Customer { get; set; } // <-- Customer object
...
}
J'ai travaillé avec NHibernate dans le passé, et utilisé des associations indépendantes, qui non seulement se sentir plus OO, mais aussi (avec lazy loading) ont l'avantage de me donner accès à l'ensemble de la Clientèle de l'objet, au lieu de son ID. Cela me permet de, par exemple, de récupérer une Commande de l'instance et ensuite faire Order.Customer.FirstName
sans avoir à faire une jointure explicite, ce qui est extrêmement pratique.
Bref, mes questions sont les suivantes:
- Existe-il des inconvénients significatifs dans l'aide des associations indépendantes? et...
- Si il n'y a pas tout, ce qui serait la raison de l'utilisation de la clé étrangère associations à tous?