Ich bin neu bei LINQ. Ich habe die folgenden drei Datenbanktabellen.LINQ. Übereinstimmende Datensätze aus der zweiten Tabelle zurückgeben.
class Districts{
public int id{get;set;}
public String DistrictName{get;set;}
}
class Users{
public int id{get;set;}
public String Username{get;set;}
//etc
}
und eine Tabelle Join
class UserDistricts{
public int id{get;set;}
public int Userid{get;set;}
public int DistrictId{get;set;}
}
ich die DistrictNames auf einen bestimmten Benutzer durch seine Benutzer-ID identifiziert zugeordnet finden möchten.
List<int> districtsAssigned = (from aDistrict in p.UserDistricts where
aDistrict.UserId == userId select aDistrict.DistrictId).ToList();
Der obige Code gibt mir die DistrictId für einen bestimmten Benutzer. Ich möchte, dass es mit den Bezirkstabellen übereinstimmt und gebe mir den Distriktnamen zurück. Ich stecke hier fest.
Die äquivalente SQL-Abfrage wäre wie folgt.
select U.DistrictId,D.DistrictName,userId from UserDistricts U
INNER JOIN Districts D on D.DistrictId=U.DistrictId
where [email protected]
Jede Hilfe würde sehr geschätzt werden.
Bitte versuchen Sie es mit SO Linq Dokumentation für [Joins] (http: // stackoverfl ow.com/documentation/c%23/68/linq-queries/2994/joins-inner-left-right-cross-and-full-outer-joins#t=201704050730121811661) –
Warum haben Sie diese Tabelle? UserDistrikte? Ist es eine Viele-zu-Viele-Beziehung mit Distrikten und Benutzern? Wenn ja, brauchst du nicht 'public int id {get; set;} 'innerhalb der UserDistricts, nur links- und rightkey – Valkyrie
sag mir auch an Benutzt du LINQ to SQL? oder Entitätsrahmen/LINQ2Entities? – Valkyrie