[英]best way to build the dynamic linq queries in c#?
我想知道在LINQ中構建動態查詢的最佳方法是哪種。 查詢將是復雜和嵌套的。 在搜索時我找到了幾種方法:
可能有比這些更多的選擇。 哪種方式最好?
這取決於您的具體情況:您需要多快,起點是什么,等等。 在一個不受約束的世界中,我認為最好的事情是推出自己的庫來構建動態查詢。 您可以使用Scott或Joseph的作品作為靈感,但最終它在Linq.Expression庫中“全部結束”。
“自己動手”方法的一個優點是您不需要從代碼橋接到某人的框架。 相反,您可以直接編寫.NET API代碼。 當您已經擁有動態查詢的表示時,這可能很有用,例如,在通過UI,XML文件等呈現給用戶的模型中。您只需要遞歸地遍歷該表示,並生成系統.Linq.Expression作為回歸。
FWIW,我的公司在.NET 3.5發布時采用了這種方法,我們對結果非常滿意。
Linq查詢可以用兩種方式編寫,讓您使用任何類型的嵌套。
查詢語法
IEnumerable<int> numQuery1 =
from num in numbers
where num % 2 == 0
orderby num
select num;
方法語法
IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);
有關Linq的更多信息,您可以訪問Microsoft的LINQ(語言集成查詢) 。 它包含從入門到示例教程的所有內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.