В следующем коде значение представляет собой строку со значениями, разделенными запятыми, каждое из которых является именем типа. Я хочу получить сущности, которые были связаны с любым из этих типов или имеют один из этих типов в своем описании. Я написал следующее linq to sql servery, и я всегда получаю 0, когда есть объекты с этими типами. Можете ли вы помочь?
string[] allValues = value.Split(',');
var allTypes = ModelFactory.GetRepository<IRestaurantTypeRepository>().GetAllTypes();
return from ent in matchingEntities
from typeLink in ent.EntityRestaurantTypeLinks
join type in allTypes on typeLink.RestaurantTypeId equals type.RestaurantTypeId
where allValues.Contains(typeLink.RestaurantType.TypeName)
|| (
allValues.Contains(type.TypeName)
&& ent.Description.Contains(type.TypeName)
)
select ent;
EDIT
Я разделил заявление на две части. После этого второе утверждение стало таким.
from ent in matchingEntities
where allValues.AsEnumerable().Any(va =>
ent.Description.Contains(va))
select ent;
В этом allValues тип string []. ent.Description - содержимое строки. Я просто хочу получить сущности, описание которых содержит любое значение из allValues. Вышеприведенное утверждение не дает результатов.