在过去的几个小时里,我一直在尝试解决问题,但一点运气都没有。
首先,让我向您展示我的数据库的外观(只是其中的一个重要部分):
[radno_mjesto] = JOB [grupa_radnih_mjesta] = JOB GROUPS(属于特定组的工作;例如,如果组名称是法官,则属于该组的工作将是:最高法院法官、行政法法官、高级法官等。 ) [osoba] = 人
我想要实现的是查询所有属于特定工作组的人,但几个小时后我无法成功。我正在尝试以下代码的各种组合,但我只得到了两个结果:所有人(无论他们的工作是什么)或只有特定工作的人(本例中工作组的最后一份工作) .
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);
}
任何帮助,将不胜感激。