網站首頁 編程語言 正文
一、什么是LINQ?它可以用來做什么
語言集成查詢(Language Integrated Query,LINQ)是一系列標準查詢操作符的集合,這些操作符幾乎對每一種數據源的導航、過濾和執行操作都提供了底層的基本查詢架構。
LINQ可查詢的數據源包括XML(可使用LINQ TO XML)、關系數據(使用LINQ TO SQL,及先前的DLINQ)、ADO.NET DataSet(使用LINQ TO DataSet),以及內存中的數據。
二、投影操作符:Select
Select操作符對單個序列或集合中的值進行投影。所謂投影,比如有一個數據集,想用LINQ語法去操作數據集,會寫一個LINQ的表達式,表達式會把數據集合中的數
據簡單的投影到一個變量中,并且可以通過這個變量去篩選數據。
示例:
Employees類
public class Employees { public Guid Id { get; set; } public string Name { get; set; } public int Sex { get; set; } public string CompanyName { get; set; } }
class Program { static void Main(string[] args) { //使用集合初始化器給集合賦值 Listemp = new List { new Employees(){Id=Guid.NewGuid(),Name="張三",Sex=0,CompanyName="xx技術有限公司"}, new Employees(){Id=Guid.NewGuid(),Name="李四",Sex=0,CompanyName="xx培訓"}, new Employees(){Id=Guid.NewGuid(),Name="王五",Sex=0,CompanyName="xx集團"} }; //查詢語法:不能省略最后的select var query = (from p in emp where p.Name.StartsWith("王") select p).FirstOrDefault(); //查詢方法:設計到Lambda表達式,全部返回 可以省略最后的select 延遲加載 var query1 = emp.Where(p => p.Name.StartsWith("王")).Select(e => new { e.Name,e.CompanyName}); //查詢方法:返回匿名類 var query2 = emp.Where(p => p.Name.StartsWith("王")).Select(p => p); foreach (var item in query1) { Console.WriteLine(item.Name); } Console.ReadKey(); } }
三、限制操作符where
where是限制操作符,它將過濾標準應用在序列上,按照提供的邏輯對序列中的數據進行過濾。
where操作符不啟動查詢的執行。當開始對序列進行遍歷時才開始執行,此時過濾條件將被應用到查詢中。
示例:
//where限制操作符:使用延遲加載 var q = teachers.SelectMany(p => p.Students).Where(s => s.Score < 60).Select(a => new { name = a.Name }); foreach (var item in q) { Console.WriteLine("姓名:"+item.name); }
原文鏈接:https://www.cnblogs.com/dotnet261010/p/6822559.html
相關推薦
- 2022-09-26 C++繼承關系下的構造與析構
- 2022-04-27 C++的指針,引用和STL詳解_C 語言
- 2022-12-02 Android?使用?okhttp3和retrofit2?進行單文件和多文件上傳_Android
- 2021-12-02 利用Matlab仿真實現圖像煙霧識別(k-means聚類圖像分割+LBP+PCA+SVM)_C 語言
- 2022-09-25 Stream流水線的實現原理是什么
- 2023-03-05 Redis緩存工具封裝實現_Redis
- 2022-10-19 React?Hook實現對話框組件_React
- 2022-07-08 C#使用WebClient實現上傳下載_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支