asp.net有没有办法在列表中获取id?

时间:2016-05-20 01:16:59

标签: c# sql asp.net

我在'Edital'和'Graduando'之间有多对多,我创建了一个名为'EditalGraduando'的实体。现在我想知道'graduando'使用graduando id订阅的每个'edital'。所以我这样做了:

public IQueryable<int> GetGraduandosIds(int editalId)
{
    var graduandosId = db.EditalGraduandoe.Where(e => e.EditalId == editalId).Select(i => i.graduandoID);

    return graduandosId;
}

有一种方法可以使用此结果在entety'Graduando'中进行选择吗?像这样:SQL WHERE ID IN (id1, id2, ..., idn)

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做:

public IQueryable<Graduandoe> GetGraduandos(IEnumerable<int> graduandosIds)
{
    return db.Graduandoe.Where(g => graduandosIds.Contains(g.graduandoID));
}

或者,您可以拥有导航属性,并且可以编写以下代码而不是两个函数:

public IQueryable<Graduandoe> GetGraduandos(int editalId)
{
    return db.EditalGraduandoe.Where(e => e.EditalId == editalId).Select(i => i.Graduandoe);
}