我是LINQ的新手。我有以下三個數據庫表。LINQ。從第二張表中返回匹配記錄。
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
}
而且連接表
class UserDistricts{
public int id{get;set;}
public int Userid{get;set;}
public int DistrictId{get;set;}
}
我想找到分配給它的用戶ID標識的特定用戶的DistrictNames。
List<int> districtsAssigned = (from aDistrict in p.UserDistricts where
aDistrict.UserId == userId select aDistrict.DistrictId).ToList();
上面的代碼給了我一個特定用戶的DistrictId。我希望它與地區表匹配並返回地區名稱。我被困在這裏。
等價的SQL查詢會是這樣的。
select U.DistrictId,D.DistrictName,userId from UserDistricts U
INNER JOIN Districts D on D.DistrictId=U.DistrictId
where [email protected]
任何幫助將不勝感激。
請嘗試使用SO Linq的[Joins]文檔(http:// stackoverfl ow.com/documentation/c%23/68/linq-queries/2994/joins-inner-left-right-cross-and-full-outer-joins#t=201704050730121811661) –
爲什麼你有這張桌子? UserDistricts?它與區和用戶是多對多的關係嗎?如果是這樣的話,你不需要在UserDistricts中使用'public int id {get; set;}',只有左鍵和右鍵 – Valkyrie
也告訴我你在使用LINQ to SQL嗎?或實體框架/ LINQ2Entities? – Valkyrie