linq to sql if control
Posted
技术标签:
【中文标题】linq to sql if control【英文标题】: 【发布时间】:2021-02-05 09:11:19 【问题描述】:我想在 linq 查询中进行 if 控制,但我不知道如何进行此控制。
var result = from sk in stokKartlari
join ue in uretimEmirleri on sk.id equals ue.UrunId
join ub in urunBarkodlari on ue.Id equals ub.UretimEmriId
select new UretimEmriJsonViewModel
Id = ue.Id,
BaslangicTarihi = string.Format("0:yyyy-MM-dd", ue.BaslangicTarih),
BitisTarihi = string.Format("0:yyyy-MM-dd", ue.BitisTarih),
StokAdi = sk.stokadi,
StokKartiId = ue.UrunId,
UretimAdet = ue.Adet,
UretimBasTarih = string.Format("0:yyyy-MM-dd", ue.UretimBasTarih),
UretimBitTarih = string.Format("0:yyyy-MM-dd", ue.UretimTamamTarih),
UretimSeriNo = ue.UEmirBarkod,
Res= //true or false
;
我尝试 if urunBarkodlari.Where(x=>x.Printed==true && x.UId==ue.Id).Count()
count > 0 Res= true or false
我正在做我想做的事,方法是用 foreach 返回列表并发送查询。我可以在不发送查询的情况下通过 linq 执行此操作吗?
【问题讨论】:
【参考方案1】:urunBarkodlari.Any(x => x.Printed== true && x.UId==ue.Id).Count() > 0
你不需要“?真:假” 如果有任何记录,将返回 true。
您可以查看此帖子: https://***.com/questions/3703256/linq-extension-methods-any-vs-where-vs-exists#:~:text=Any()%20returns%20true%20if,the%20IList%20back%20before%20Linq.
【讨论】:
【参考方案2】:我解决了我的问题;
Res = urunBarkodlari.Any(x => x.Printed== true && x.UId==ue.Id).Count() > 0
【讨论】:
不是更准确,但更短一点:Res= urunBarkodlari.Any(x => x.Printed && x.UId==ue.Id)
以上是关于linq to sql if control的主要内容,如果未能解决你的问题,请参考以下文章
如何将相同的 var 类型变量分配给不同的 linq to sql 结果集?
LINQ to SQL class LINQ to sql Objects?