我正在使用動態LINQ來預處理一些用戶請求。它的成立方式是,我會從那裏收集數據到瓦爾數據從列表構建Linq查詢<string>使用動態LINQ
var data = Project.Model.Adhoc.GetData().AsQueryable();
這基本上是一個SELECT * FROM視圖
然後,我將通過所有的,我有選擇循環以過濾用戶選擇
foreach (Filters filter in filters.OrderBy(x=>x.strOrderNumber))
{
有一些檢查和排列一起,我得到了這個
data = data.Where(filter.strFilter + FormatOperator(filter.strOperator) + "@0", filter.strValue).
Select(x => x).ToList().AsQueryable();
這是工作得很好,但數據源開始增長,所以我想要做的是這樣的:
data = data.select(get all items that were selected)
然後做我的檢查和排列。這將允許我只拉取需要的,而不是整個數據源。 C#中使用linq完成這件事的最好方法是什麼?
Ex。
datasource = {Name, Age, Race, Gender, Hair Color, Eye Color, height, weight, etc}
user selected = {Name, Age, Race, Gender}
而不是查詢針對整個數據源,我想限制數據源僅什麼是用戶了蝙蝠帶進來,然後我可以基於作爲德數據源
就這樣,我明白了,你基本上想發送一個「select * from myView where x = [something] and y = [something]」,這樣SQL服務器只返回有限的結果吧? – CodingGorilla