發表文章

目前顯示的是有「LINQ」標籤的文章

C# LINQ語法與SQL語法

圖片
  LINQ語法其實跟SQL語法還蠻像的,說蠻像基本上就是拿SQL語法來程式內使用而已。 學習過SQL的人太概都知道SQL的好處,雖說不上萬能,但是在找尋資料時卻是很好用的一種語法。 很多時候,不靠SQL資料庫要處理龐大內存資料真是一種痛苦,由其是不靠資料庫處理大量檔案資料或是內存資料時就是如此。如果有兩種資料須要JOIN就會需要很多程式碼,很多for/foreach迴圈去跑,因此總會希望程式碼在處理內存資料時會有像SQL這樣簡單的語法可以使用。 當然很多地方大都有在說LINQ和SQL的詳細寫法,我這邊也不再描述,我這邊主要是讓大家看看這兩種語法相似之處。 假如我有兩個資料表 學生基本資料(Student) 和 學等(Grade): Student StudentID Name Gender AddressCity AddressArea A0001 吳山汝 Female 台北市 萬華區 A0045 卓凱耀 Male 台中市 北區 A0107 劉立沛 Male 高雄市 鼓山區 Grade StudentID Class Score A0001 1.4 550 A0045 2.5 490 A0107 3.1 581 我們看看 幾個比較 假如我要選取學生資料表(Student)裏面的姓名(Name),然後過濾條件是住在台中市(AddressCity)會怎麼做呢? SQL語法: Select a.Name From Student a Where a.AddressCity = '台中市' 這三行分別就是: 選擇輸出的資料欄(Select) 資料來源(From) 過濾條件(Where) 注意: SQL對指令沒有大小寫分別,對字串不是使用雙引號,而是單引號 其中那個 a 是『別名』 如果用LINQ來寫,就會像如下: var result = ( from a in Student                       where a.AddressCity == "台中市"