我需要多次調用相同的LINQ查詢,這些查詢只在「where」子句中具有不同的元素。我不想一遍又一遍地重複LINQ查詢,而是希望將這些元素傳遞給一個查詢,但我的腦海裏正在如何做到這一點。刪除LINQ查詢之間的重新鏈接
現在我的基地LINQ查詢看起來是這樣的:
return from a in _repository.GetApps()
join set in _repository.GetSettings() on a.id equals set.application_id
join type in _repository.GetSettingsTypes() on set.setting_type_id equals type.id
join ent in _repository.GetEntities() on a.entity_id equals ent.id
where ent.ROW_ID == app && set.application_id == id && (set.setting_type_id==81 || set.setting_type_id==82 || set.setting_type_id==83)
orderby set.application_id, type.ordinal
select new Settings { app_name = a.name, data_type = type.data_type, setting_name = type.name, setting_description = type.description, setting_value = set.setting_value, entity_name = ent.name, entity_num = ent.ROW_ID };
的「where」子句只是列出的ID設置類型。其他調用將簡單地使用更多或更少設置ID替換「where」子句,然後將其返回到視圖。我如何動態替換「where」子句或設置ID?我可以簡單地將字符串或數組分配給第二個「& &」之後的設置列表(這似乎不起作用)?或者Lambdas會在這裏幫助我(我也無法讓它工作)?謝謝!
這看起來非常有前途。我會試一試。謝謝! – ewomack 2011-04-15 13:49:30