各グループが単一のエンプレサを持ち、複数のグループが同じエンプレサを持つことができるグループのリストを考えると、リストのグループのいずれかを含むエンプレサをどのように取得しますか?
私はこのモデルを持っています:
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に関連するエンプレサを見せたいと思います。
以下の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");