.NET 现代化动态 LINQ 库 Gridify
生活随笔
收集整理的這篇文章主要介紹了
.NET 现代化动态 LINQ 库 Gridify
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
動態 LINQ
大家好,我是等天黑, 這次繼續介紹開源項目,Gridify 是一個現代化動態 LINQ 庫,它以最簡單的方式將您的字符串轉換為 LINQ 查詢,并且有出色的性能。它還提供了一種使用基于文本的數據應用過濾、排序和分頁的簡單方法,您還可以很方便的和 Entity framework 結合使用。
https://alirezanet.github.io/Gridify/
這有什么用呢?LINQ 查詢通常是在程序中硬編碼的, 而字符串可以來自于數據庫,Http 請求等等, 可以在合適的場景中轉換成LINQ查詢,也就是動態 LINQ。
使用示例
讓我們看看下面幾個示例。
首先通過 Nuget 安裝 Gridify, 然后修改代碼如下
public class Program { static async Task Main(string[] args) { List<Person> people = new List<Person>() { new Person(18,"Lee"), new Person(18,"James"), new Person(30,"Mark") }; } } public class Person { public Person(int age, string name) { Age = age; Name = name; } public int Age { get; set; } public string Name { get; set; } }先看一個簡單的, 此時 p1 和 p2 是相等的
// 字符串var p1 = people.AsQueryable().ApplyFiltering("Age=18").ToList();//等同于 LINQvar p2 = people.Where(x => x.Age==18).ToList();OR
AND
模糊查詢
排序
性能
Gridify 是實現原理是, 對字符串進行語法解析,然后轉換成表達式, 如您所見,Gridify 的結果和原生 linq 最接近。
希望對您有用!
總結
以上是生活随笔為你收集整理的.NET 现代化动态 LINQ 库 Gridify的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 龙芯上市是自主路线被广泛认可的风向标
- 下一篇: .NET静态代码织入——肉夹馍(Roug