我在我的應用程序中有一個方法,它需要根據一組條件讀取,篩選和提供數據。 我試圖使用LINQ來實現:如何動態地構建/更改LINQ語句的一部分
var pipelineData = from data in new XPQuery<AccountView3.PipelineData>(uow)
where data.Stage.ToLower().Contains("won")
&& data.RevenueStartDate.Value.Year == DateTime.Today.Year
&& data.WeekOfTheYear >= priorWeekCutoff
&& (!string.IsNullOrEmpty(data.PlatformTcv) && data.PlatformTcv != "#N/A")
select data;
就其本身而言,這工作得很好。問題是 - 根據正在傳遞的搜索條件,而不是data.PlatformTvc它可能是data.WorkspaceTvc,或data.CyberTvc等...我不知道哪種可能需要評估5個選擇。
我的問題是:有沒有辦法以這種方式構建LINQ語句,部分語句是有條件執行的。因此,如果用戶通過「平臺」作爲搜索條件,則LINQ語句將讀取... string.IsNullOrEmpty(data.PlatformTcv)
,但是如果條件是「Cyber」,則該LINQ語句應該讀取... string.IsNullOrEmpty(data.CyberTcv)
有沒有辦法實現這一點?
現在要試試這個... – 2014-11-05 22:46:58
這是天才!謝謝! – 2014-11-05 23:30:57