【问题标题】:asp.net is there a way to get id in list?asp.net 有没有办法在列表中获取 id?
【发布时间】:2016-09-17 02:45:59
【问题描述】:

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

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

    return graduandosId;
}

有没有办法使用这个结果在实体“Graduando”中进行选择?像这样:SQL WHERE ID IN (id1, id2, ..., idn)

【问题讨论】:

    标签: c# sql asp.net


    【解决方案1】:

    是的,您可以这样做:

    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);
    }
    

    【讨论】:

    • 你知道我在哪里可以找到这方面的文档吗?
    • 如何使用 EditalGraduandoes (imgur.com/Ti4WUgR) 的行状态在实体编辑之间加入? public IQueryable GetEditalsIds(int graduandoId) { return db.EditalGraduandoe.Where(e => e.graduandoID == graduandoId).Select(i => i.Edital); //在这里加入 }
    • 我找到了很好的例子,包括加入。 weblogs.asp.net/dixin/…
    • 这也是我获得状态所需要的: public IQueryable GetEditalsIds(int graduandoId) { return db.EditalGraduandoe.Where(e => e.graduandoID == graduandoId).Select(edital => 新 { Edital = edital.Edital, Status = edital.Status}); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2011-07-30
    • 1970-01-01
    • 2014-10-07
    • 2015-11-18
    相关资源
    最近更新 更多