是否存在等于IN的lambda?我想选择ID为4、5或6的所有基金。一种书写方式是:

列出fundHistoricalPrices = lionContext.FundHistoricalPrices.Where(fhp => fhp.Fund.FundId == 5 || fhp.Fund.FundId == 6 || fhp.Fund.FundId == 7).ToList();

但是,如果我需要匹配100个不同的fundIds,那很快就变得难以管理。我可以做类似的事情吗?

清单
fundHistoricalPrices =
lionContext.FundHistoricalPrices.Where(fhp
=> fhp.Fund.FundId in(5,6,7))。ToList();

最佳答案

这是沿着这些思路的地方,但是我不太同意您采用的方法。但是,如果您确实想这样做,则可以这样做:

.Where(fhp => new List<int>{5,6,7}.Contains( fhp.Fund.FundId )).ToList();

您可能需要在LINQ查询之前构造ID列表。

09-08 01:04