实体框架核心3.1.3(PostgreSQL)使用(AND OR)创建PostgreSQL查询

时间:2020-09-07 02:25:06

标签: c# sql postgresql entity-framework-core

我有以下EF Core查询:

@Convert.ToInt32(item.IC).ToString().PadLeft(12, '0')

但是我希望查询包含以下条件,而不仅仅是:

        var instancesForCustomer = (from v in loyalty.VoucherAuthentication
                                    where v.CardNumber == cardNumber
                                    && v.InstanceType == instanceType
                                    && v.PreAuthorised == false
                                    && v.Redeemed == false 
                                    && v.VoucherExpiryDate > Functions.GenerateDateTimeByLocale()
                                    && v.PreAuthExpiryDate > Functions.GenerateDateTimeByLocale()
                                    select v).AsNoTracking().ToArray();

成为

*WHERE PreAuthExpiry > Now*

我不清楚如何创建查询,以便将> *WHERE (PreAuthExpiry > Now OR PreAuthExpiry IS NULL)* Now放在各自的块中,而不是根据EITHER IS NULLPreAuthExpiry > Now。如果只是OR PreAuthExpiry IS NULL,那么所有带NULL PreAuthExpiry的记录都会返回,而忽略其他AND条件。

0 个答案:

没有答案