C# 实体框架核心3.1.3(PostgreSQL)使用(和或)创建PostgreSQL查询
我有以下EF核心查询:C# 实体框架核心3.1.3(PostgreSQL)使用(和或)创建PostgreSQL查询,c#,sql,postgresql,entity-framework-core,C#,Sql,Postgresql,Entity Framework Core,我有以下EF核心查询: var instancesForCustomer = (from v in loyalty.VoucherAuthentication where v.CardNumber == cardNumber && v.InstanceType == instanceType
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*
将来
我不清楚如何创建查询,以便在它们自己的块中考虑>
Now
和为NULL
,而不是根据PreAuthExpiry>Now
或为NULL
评估所有先前条件。如果是just或PreAuthExpiry为NULL,那么所有PreAuthExpiry为NULL的记录都将返回,忽略其他和条件。&&(v.PreAuthExpiryDate==NULL | | v.PreAuthExpiryDate>函数。GenerateDateTimeByLocale())
啊,谢谢!我不知道ef core接受直接翻译的“(”和“)”括号。我在搜索时找不到任何这样的例子。谢谢,我来测试一下。
*WHERE (PreAuthExpiry > Now OR PreAuthExpiry IS NULL)*