给定一个 groupos 列表,其中每个 groupo 有一个 empresa,多个 groupos 可以有相同的 empresa,你如何获得包含列表中任何 groupos 的 empresas?
我有这个模型:
public class Grupo
{
public int id { get; set; }
public string descripccion { get; set; }
[ForeignKey("Empresas")]
public int empresa { get; set; }
public virtual empresa Empresas { get; set; }
}
public class empresa
{
public int id { get; set; }
public string descripcion { get; set; }
public virtual ICollection<Grupo> Grupos { get; set; }
}
所以这个方法给了我一个列表
private List<Grupo> VerEmpresas(int userId)
{
var lista = (from ga in db.GrupoAccesos
join g in db.Grupos
on ga.grupo equals g.id
where ga.usuario == userId
select g).ToList();
return lista;
}
现在我想用这种方法向我展示与 grupo 相关的 empresas。
下面 emp 给出了一个布尔值,相反,我想要我的 grupos 列表中的所有 empresas。
List<Grupo> verEmpresa = VerEmpresas(1);
var emp = (from p in db.Empresas
select p.Grupos).Contains(verEmpresa);
ViewBag.empresa = new SelectList(emp, "id", "descripcion");