OK, tout d'abord, je suis tout nouveau à LINQ2SQL alors excusez mon ignorance.LINQ to SQL - Restreindre la relation par condition (un à plusieurs) (1 - M)
J'ai fait quelques recherches, mais après 1 heure, j'ai décidé de venir ici.
va ici:
Je suis en train de faire quelque chose que je pense est très simple. Ce pourrait juste être que je ne comprends pas. J'utilise LINQ 2 SQL, via le concepteur VS. J'ai 2 tables: Clients et Catégories. Un client peut avoir plusieurs catégories.
J'ai une requête très simple pour trouver des clients:
Client c = db.Clients.SingleOrDefault(client => client.ID == id);
Ce que je veux faire est de modifier cette façon que la collection: c.Categories, ne contiendront un sous-ensemble des catégories de ce client.
Voici ce que j'ai essayé:
Client c = db.Categories.Where(cat => cat.IsActive == true).Select(cat.Clients).SingleOrDefault(client => client.ID == id);
je reçois une erreur déclarant que plus d'un client est retourné.
- Ai-je raté quelque chose? N'est-ce pas quelque chose que LINQ est conçu pour faire?
Suis-je censé utiliser la première requête puis faire une autre requête spécifiquement sur les Catégories quand j'ai besoin de cette liste ??
c.Categories.Categories.Where (cat => cat.IsActive == true)
Merci à l'avance. SingleOrDefault() est pour quand il n'y a qu'un seul résultat.
comment voulez-vous limiter la liste des catégories pour un client? Y a-t-il par exemple un champ "IsActive (bool)" sur la table des catégories que vous souhaitez regarder? –
C'est exactement ce que j'essaie de faire. – Kevin