我有此列:當我只爲的categoryId其精細搜索的Linq:幫我做這項工作
PersonId CategoryId SubCategoryId
1 61 47
2 61 48
3 61 0 424
4 61 0 425
5 84 55
6 61 585
7 101 48
8 101 424
8 666 47
10 666 424
,並subCategoryId其優良的,但是當我搜索都一樣的categoryId = 47 & & subCategoryId = 424. 我不能讓它工作...在這種情況下,我只需要人61和人666.
我可以做一個foreach,但不是一個好的主意的表現。
你們可以幫我嗎?
if (ids.IdCategory != null && ids.IdSubCategory != null)
{
query = unitOfWork.PersonSkillsRepository.GetAll().Where(m => m.IdCategory == ids.IdCategory || m.IdSubCategory == ids.IdSubCategory);
}
else if (ids.IdCategory != null)
query = unitOfWork.PersonSkillsRepository.GetAll().Where(m => m.IdCategory == ids.IdCategory);
else
query = unitOfWork.PersonSkillsRepository.GetAll().Where(m => m.IdSubCategory == ids.IdSubCategory);
第一種情況下,我得到的一半我想要的......但我想一些方法來過濾,因爲這樣我得到101也是一樣,我不知道怎麼看,如果人們同時擁有類別和子類別
,我不能明白的方式來做到這一點沒有一個foreach
請提供一些您嘗試過的代碼。 – Compufreak
Linq的性能與你的foreach循環一樣,當你不那麼亂。它在內部遍歷IEnumerable。 –
有很多以這種方式工作的網站 - 您提出了一些要求,並有人爲您實施這些要求(可能是爲了一些錢)。但是StackOverflow以不同的方式工作 - 你**嘗試自己實現需求,如果你有一些問題(錯誤或意外結果),那麼你給**問題描述**,你當前的**代碼**並要求人們來幫助你。 –