繁体   English   中英

LINQ查询不返回单个值

[英]LINQ query doesn't return the single value

我有这个查询,我想返回一个单独的值,即I.Id,我有一个参数,其中填充了从控制器发送到Dao的Id(Linq查询嵌套的位置)。 问题是,这个查询不只是返回一个值,而是返回该查询产生的表中的每个字段,我只想要Id。

这是查询:

public InscriptionDetail GetInscriptionIdByPersonId(int id)
        {
            using (var db = new HIQTrainingEntities())
            {
                var inscription =
                        from i in db.Inscriptions
                        join c in db.Certifications on i.PersonId equals c.PersonId
                        where i.PersonId == id
                        select new InscriptionDetail
                        {
                            Id = i.Id,
                        }; 
                return inscription.FirstOrDefault();
                 }
        }

有人可以帮我解决这个问题吗? 怎么了 ?

您的退货类型是InscriptionDetail 如果它只是你需要返回的int id,为什么不改为以下?

public int GetInscriptionIdByPersonId(int personId)
{
    using (var db = new HIQTrainingEntities())
    {
        var inscription =
            from i in db.Inscriptions
            join c in db.Certifications on i.PersonId equals c.PersonId
            where i.PersonId == personId
            select i.Id;
        return inscription.FirstOrDefault();
     }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM