gpt4 book ai didi

c# - 如果值大于零,LINQ 包括 "&&"运算符

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:43 25 4
gpt4 key购买 nike

leaIdseaId 大于零时,以下方法返回数据。

如果只输入 leaId,我应该如何更改查询以返回数据?

由于 && 运算符没有任何返回,因为 seaId 是可选的且等于零。

public IQueryable<Stand> GetStand(int leaId, int seaId = 0)
{
return from c in db.Stands where c.LeaID == leaId && c.SeaID == seaId
select new Stand
{
//something
}
}

最佳答案

将您的查询分成两部分:

IQueryable<Stand> query=db.Stands.Where(c= c.LeaID == leaId);

if(seaId>0)
{
query=query.Where(c= c.SeaID == seaId);
}
return query.Select(e=>...);

另一件重要的事情是您不应该使用实体类型 (Stand) 来计划您的查询。在 EF 中,您可以通过匿名类型或使用 DTO 进行投影。如果您使用自定义类进行投影,请忽略最后一条评论。

关于c# - 如果值大于零,LINQ 包括 "&&"运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com