我有問題我一直在努力解決過去幾個小時,但沒有任何運氣。LINQ聯盟沒有返回想要的結果
首先,讓我告訴你我的數據庫看起來像(只是其中的一個重要組成部分):
[radno_mjesto] = JOB [grupa_radnih_mjesta] =作業組(即屬於特定羣體的工作;例如,如果組名稱爲法官工作,將落入這個組是:最高法院法官,行政法法官,高級法官等) [osoba] = PERSON
我想實現的目標是查詢所有屬於特定工作組的人員,但幾個小時後我無法成功完成這項工作。我正在嘗試以下代碼的各種組合,而且我只得到2個結果:所有人員(無論他們的工作是什麼)或只有特定工作的人員(本例中來自工作組的最後一個工作) 。
var sveOsobe = from p in db.osobas
select p;
if (chkGrupaRadnihMjesta.Checked)
{
int id = Convert.ToInt32(GrupaRadnihMjesta.SelectedValue);
var radnaMjesta = from rm in db.grupe_radnih_mjesta_radna_mjesta
where rm.grm_id == id
select rm;
var praznoOsobe = sveOsobe.Where(o => o.osoba_id == -1);
foreach (var radnoMjesto in radnaMjesta)
{
var sveOsobeRadnaMjesta = from p in db.osobas
where p.osoba_id == -1
select p;
sveOsobeRadnaMjesta = sveOsobe.Where(o => o.rm_id == radnoMjesto.rm_id).Union(sveOsobeRadnaMjesta);
praznoOsobe = praznoOsobe.Union(sveOsobeRadnaMjesta);
}
sveOsobe = sveOsobe.Intersect(praznoOsobe);
}
任何幫助,將不勝感激。
這不是你的錯,但對於一個不熟悉你的語言的人來說名字很難記住。它看起來像一個替代密碼已被應用。也許你可以翻譯他們? – usr 2012-08-14 22:27:32
您知道您不需要在數據庫中使用的LINQ上下文中使用相同的確切名稱,您可以爲表和列_meaningful_名稱指定名稱,並仍映射到混淆的名稱。做你自己(和我們)一個忙,並做到這一點。甚至很難理解你的代碼在做什麼。 – 2012-08-14 22:37:20
其實,這個項目是我從第三人繼承的東西。就我個人而言,我使用較短的表名。 – 2012-08-14 23:53:30