0

J'utilise EF avec mvc, pour cela j'ai un référentiel générique, l'implémentation unitOfWork basée sur ObjectContext, pas de problème avec CRUD jusqu'à présent. Je me demande comment puis-je gérer les scénarios dans lesquels je dois faire la jointure avec des entités.Comment gérer les scénarios sql joints

+0

En général, les sélections avec jointures peuvent être réalisées à l'aide de LINQ, mais pourriez-vous ajouter un exemple de requête ou d'action hypothétique que vous souhaitez exécuter pour ajouter du contexte? – Nope

+0

pas de contexte spécifique à l'esprit juste en train de casser mon implémentation ObjectCotnext – afr0

Répondre

1

Il existe plusieurs façons de gérer la situation. Les jointures ne sont pas nécessaires dans la plupart des situations et généralement évitées dans EF.

var orders = orderRepository.GetAll(); 

var projection = orders.Where(o => o.Customer.Name == "Foo") 
     .Select(o => new { o, o.Customer }); 

Le référentiel générique est une abstraction qui fuit. Implémentez un référentiel spécifique pour chaque entité et créez une méthode qui effectue la jointure et renvoie le résultat.

+0

fuite d'abstraction oui je suis d'accord avec vous mais au moins nous avons toujours l'option pour les référentiels explicites si nous sommes confrontés à ce problème dans le futur. – afr0

+0

donc .select est le moyen de faire des jointures à droite? – afr0

+0

@ user1162274 En fait, vous dites ce dont vous avez besoin et EF fera les jointures si nécessaire :) – Eranga

Questions connexes