linqsql語句
⑴ LINQ to sql 和一般的查詢語句怎麼什麼區別
linq是面向對象的sql。也就是說,sql是向關系型資料庫的查詢,而linq實際上是對內存里的數據的查詢。
雖然linq原來是對象查詢,但經過ms的努力,可以通過表達式分析與實體到關系的映射(linq
to
sql),把linq轉換為sql語句或是對xml的查詢(linq
to
xml)。
因此,這種技術就成了對象到資料庫記錄的一個方便的映射、轉化與操作的工具,你再也不必去去根據不同的情況用字元串拼接的辦法生成sql,而是專心於對象模型的處理即可,你對於對象的修改最終都會被轉換為對應的update,
insert,
delete等sql語句,在你submit時全部提交到資料庫中。
綜爾言之,linq
to
sql是一個資料庫到對象結構的一個中間層,
他把對關系數據的管理轉變為對象的操作,屏蔽了麻煩的sql,而且,還可以得到vs強大的智能感知功能的幫助。
⑵ 什麼是ling to sql
ling to sql 首先得先解釋 linq
LINQ = 語言集成查詢(Language INtegrated Query)
是一組用於c#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以查詢資料庫相同的方式操作內存數據。
舉個例子,比如你的C#代碼裡面,有個 Apple 對象,對象有 顏色這個屬性
當給你一個 Apple 類的列表,要你返回所有 顏色為紅色的。
如果沒有 LINQ 的話, 那麼就是 for 循環, 然後 if
使用 LINQ 的話, 就是有點像資料庫的 SQL 語句的寫法
var query =
from apple in appleList
where apple.Color == "紅色"
select apple;
關於 LINQ 的例子代碼:
http://hi..com/wangqing999/blog/item/40982215d2625371ca80c494.html
LINQ to SQL 呢?
就是首先是通過開發工具, 通過讀取資料庫中的表結構,來創建 C# / VB.NET 的代碼
比如你有個表 Test, 有2個欄位 id, value
那麼開發工具會產生一個類, 叫 Test. 這個類有2個屬性 id, value
然後你可以通過寫 LINQ 的方式, 來查詢資料庫裡面的數據。
var query =
from test in context.Test
select test;
關於 LINQ to SQL 的例子代碼:
http://hi..com/wangqing999/blog/item/143b63da8185904594ee37ee.html
⑶ 問LinQ里的union和sqlserver里的union的區別
UNION用的比較多union all是直接連接,取伏行到得是所有值,記錄可能有重復 union 是取唯一值,記錄沒有重復 1、UNION 的語法如下:
[SQL 語句 1]
UNION
[SQL 語句 2]
2、UNION ALL 的語法如下:
[SQL 語缺沖嘩句 1]
UNION ALL
[SQL 語句 2]
效率:
UNION和UNION ALL關鍵字都是將兩個結果集合並為一個,但這兩者從使用和效率上來說都有所不同。
1、對重復結果的處理:UNION在進行表鏈接後會篩選掉重復的記錄,Union All不會去除重復記錄。
2、判納對排序的處理:Union將會按照欄位的順序進行排序;UNION ALL只是簡單的將兩個結果合並後就返回。
從效率上說,UNION ALL 要比UNION快很多,所以,如果可以確認合並的兩個結果集中不包含重復數據且不需要排序時的話,那麼就使用UNION ALL。