我有这个查询,我想返回一个单独的值,即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();
}
}
有人可以帮我解决这个问题吗? 怎么了?
答案 0 :(得分:9)
您的返回类型为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();
}
}