如何确定应首先搜索哪个过滤器的linq查询的优先级?

时间:2019-02-27 04:38:03

标签: c# linq

我正在使用支付网关,但是,一个商人可以拥有100万条记录。因此,为了允许商家进行快速搜索,请在我的DB I中索引商家ID列。因此,在我的C#代码中,我希望Linq希望查询首先搜索商家ID。因此,查询可以进入下一个搜索过滤器以提高性能。有什么方法可以让LINQ首先搜索商家ID?

IQueryable<WithdrawalRecord> withdrawalList = entities.WithdrawalRecord
                               .Where(x => x.MerchantId == merchantId && x.Currency = "USD");

1 个答案:

答案 0 :(得分:-1)

entities.WithdrawalRecord.Where(x => x.MerchantId == merchantId).Where(x => x.Currency = "USD");

您可以堆叠Where调用,因为它返回了IQueryable<WithdrawalRecord>,以这种方式进行的操作将先对merchantId进行过滤,然后再对货币进行过滤。