LINQ to SQL Select Distinct par Plusieurs Colonnes et de revenir ensemble de l'entité

Je travaille avec une base de données de tiers et ont besoin de sélectionner un ensemble distinct de données pour le marché spécifique que je suis de regarder dans. Les données sont les mêmes pour chaque marché, donc il est inutile de tirer à tout, et je ne veux pas coder en dur une logique autour d'elle que nous travaillons avec les fournisseurs pour résoudre le problème, mais nous avons besoin d'un correctif qui fonctionne avec les fournisseurs de corriger ainsi que la façon dont la base de données est tel qu'il pourrait être un certain temps avant de thier correctif va vivre.

Je ne veux pas de groupe par tout ce que je veux obtenir les données au niveau le plus bas, mais je ne veux pas de données redondantes. Ma requête ressemble à ceci...

determinantData = (from x in dbContext.Datas
                   where x.Bar.Name.Equals(barName) &&
                         x.Something.Name.Equals(someName) &&
                         FooIds.Contains(x.Foo.Id) &&
                         x.Date >= startDate && 
                         x.Date <= endDate
                   select x).Distinct();

Ce n'est pas ce que j'attends. Je souhaite sélectionner les différents dossiers par trois propriétés, dire Foo, Bar, et Something mais de retour de la totalité de l'objet. Comment puis-je faire cela à l'aide de LINQ?

Ce "je ne veux pas de groupe par tout ce que je veux obtenir les données au niveau le plus bas, mais je ne veux pas de données redondantes" n'a pas de sens. La sélection distincts et de regroupement par faire la même chose, mais si vous avez un groupe, vous pouvez également avoir des fonctions d'agrégation dans la liste de sélection.
Je m'en rends compte, je ne savais pas comment la poser dans une meilleure façon.. en gros je ne veux pas d'agréger les autres données qui ne fait pas partie de la distinction, mais j'ai encore envie de sélectionner des données.

OriginalL'auteur shuniar | 2011-09-09