var locations = from loc
in dataContext.Locations
where loc.Venues.Count > 1
select loc
EDIT: La réponse finale
Si vous avez la configuration des clés étrangères entre Lieu/Lieu:
string stateName = "New York";
var locations = from loc
in dataContext.Locations
where loc.Venues.Count > 1 && loc.StateName == stateName
select loc;
S'il n'y a pas une relation de clé étrangère:
string stateName = "New York";
var locations = (from v
in dataContext.Venues
where v.StateName == stateName
select (from l
in dataContext.Locations
where l.SuburbName == v.SuburbName && l.StateName == v.Statename
select l
).Single()).Distinct();
Vraiment bien, vous devriez répare tes tables. La table Venue devrait avoir un suburbID au lieu de "StateName" et "SuburbName" - il est redondant pour garder les deux.
Je savais que la table devrait avoir SuburbID mais parfois l'utilisateur peut entrer dans la banlieue qui n'est pas encore dans la base de données? –
S'il n'est pas encore dans la base de données, ajoutez-le avant d'insérer le site. Ou faites entrer l'utilisateur dans une nouvelle banlieue avant qu'il ne puisse y ajouter un lieu. –
Supposons qu'un utilisateur entre complètement les informations d'un site - à ce stade, vous avez suffisamment d'informations pour stocker une banlieue. (sauf s'il y a des champs que nous ne voyons pas). –