1
在下面的代碼中,value是一個以逗號分隔的值的字符串,每個值都是一個類型名稱。我想獲取已經與任何這些類型鏈接的實體或者在其描述中具有這些類型之一的實體。我已經寫了下面的linq到sql服務,並且我總是得到0,當肯定有這些類型的實體時。你能幫忙嗎?使用Linq進行sql查詢的幫助
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;
編輯
我已經分手聲明一分爲二。之後,第二個聲明變成這樣。
from ent in matchingEntities
where allValues.AsEnumerable().Any(va =>
ent.Description.Contains(va))
select ent;
在此,allValues是string []類型。 ent.Description是字符串內容。我只想獲取其描述包含來自allValues的任何值的實體。上述說法並沒有給出結果。
@lc,我已經嘗試了您的解決方案並且仍然獲得0個結果。 – mohang 2010-06-23 09:47:36
@mohang,你可能會遇到大小寫敏感的問題嗎?我看到它,它應該工作。另外,你在運行時檢查過'allValues',如果你不用where子句進行過濾,那麼實體將被返回。 – 2010-06-23 10:04:48