我对 LINQ 很陌生。我有一个下面的 linq 查询

var entities = context.MessagingTemplateEntities
                      .Where(m =>
                          m.PartyId == partyId &&
                          m.MessageTemplateTypeId == messagingTemplateTypeId &&
                          m.ProductTypePartyId == productTypePartyId);

在此查询中,如果 productTypePartyId 为 0,那么我不想将其包含在 && 条件中。那么如何根据值排除参数呢?

最佳答案

不知道为什么人们总是强制 LINQ 成为一个衬垫。

var entities = context.MessagingTemplateEntities
                      .Where(m =>
                          m.PartyId == partyId &&
                          m.MessageTemplateTypeId == messagingTemplateTypeId);

if(productTypePartyId != 0)
   entities = entites.Where(m.ProductTypePartyId == productTypePartyId);

自己决定哪个一目了然更具可读性。

关于asp.net - LINQ - WHERE 子句中的 CASE 语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8356300/

10-13 07:58