仅选择任何子项名称不包含特定字符串的父项

本文关键字:包含特 字符串 选择 任何 | 更新日期: 2023-09-27 18:34:51

我正在使用Linq从上下文中检索数据。我正在尝试仅获取没有孙子AttributeItems CategoryAttributeItemDescriptions父项,其内部名称包含单词"范围-"下面的代码是我目前所在的位置。

var query = from caid in context.CategoryAttributeItemDescriptions
                    join cai in context.CategoryAttributeItems on caid.Id  equals cai.CategoryAttributeItemDescriptionsId
                    join ai in context.AttributeItems on cai.AttributeId equals ai.Id
                    where caid.CategoryAttributeItems.Any(c => !c.AttributeItem.InternalName.Contains("Range -")) && caid.CategoryId ==element.Id
                    select caid;

问题在于,它仍然是返回与具有该内部姓名的孙子有关系的父母。有什么想法吗?谢谢

仅选择任何子项名称不包含特定字符串的父项

听起来像是错误的逻辑。

caid.CategoryAttributeItems.Any(c => !c.AttributeItem.InternalName.Contains("Range -"))

根据您的要求应

!caid.CategoryAttributeItems.Any(c => c.AttributeItem.InternalName.Contains("Range -"))
^                            ^         ^
do not                       have      with an internal name containing the word "Range -"