排除Lambda表达式中的行
我有一个Linq to实体表达式排除Lambda表达式中的行,lambda,linq-to-entities,Lambda,Linq To Entities,我有一个Linq to实体表达式 return (from aa in DataContext.AccommodationAmenities join a in DataContext.Amenities on aa.AmenityId equals a.Id where a.LowerCaseAmenity.Contains(lowerCaseSearc
return
(from aa in DataContext.AccommodationAmenities
join a in DataContext.Amenities
on aa.AmenityId equals a.Id
where a.LowerCaseAmenity.Contains(lowerCaseSearchTerm)
select new AmenitySummary
{
AmenityId = a.Id,
Amenity = a.Amenity1,
LowerCaseAmenity = selected//a.LowerCaseAmenity
}).Distinct();
我还有一个字符串数组,其中包含我想从列表中排除的便利设施。最后有没有办法做这样的事情
.Exclude(a => a.Amentiy == stringArray)
所以基本上,stringArray包含了一些便利设施,其中一些将等同于便利设施摘要中的便利设施。如果它们相等,我不想将其添加到结果中。尝试以下方法:
return
(from aa in DataContext.AccommodationAmenities
join a in DataContext.Amenities
on aa.AmenityId equals a.Id
where a.LowerCaseAmenity.Contains(lowerCaseSearchTerm)
&& !stringArray.Contains(a.Amenity1)
select new AmenitySummary
{
AmenityId = a.Id,
Amenity = a.Amenity1,
LowerCaseAmenity = selected//a.LowerCaseAmenity
}).Distinct();
可能有关联。