您好,登錄后才能下訂單哦!
本篇內容介紹了“LINQ查詢技術怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
LINQ TO SQL是LINQ技術在數據庫方面的應用。數據庫技術從OLEDB,ODBC到ADO,在到ADO.NET到現在的LINQ TO SQL,讓程序員操作數據庫越來越簡單。 LINQ 的宗旨就是讓查詢無處不再,這當然要包括對數據庫的查詢。LINQ技術不僅僅可以對數據庫進行查詢,同樣CUID(Create,Update,Insert,Delete)都可以實現,而且非常方便。
下面逐一對查詢以及增刪改方面進行介紹
要想查詢數據庫中表的數據,就要先建立對數據庫表的映射,就像要想使用ADO.NET就需要先把數據庫中的數據存到DataSet中,看一下代碼
[Table(Name = "Category")] public class Category ...{ [Column(IsPrimaryKey = true)] public string CategoryId; [Column] public string Name; [Column] public string Descn; }
以上就是對數據表的一個映射。使用的數據庫是SQL SERVER2000中自帶的數據庫Northwind。其實寫過C#的人也應該能看懂上面的代碼。建立好對表的映射之后,就可以對其進行相應的操作了。
注意這里我們使用手工寫數據表的映射,其實MS為我們提供了相應的自動化工具SqlMetal,大家可以使用這個工具自動產生對數據庫表映射的代碼,效率比較高,如果自己有什么需要改動的地方還可以對產生的代碼進行更改。
下面可以查詢了
DataContext db = new DataContext("Server=localhost;
Database=northwind;Trust_connection=true");//這里的連接字符串根據自己的配置進行相應更改即可
Table<Category> Categorys = db.GetTable<Category>();
var result =
from c in Categorys
select c;
//大家看到了DataContext就相當于ADO.NET中的Connection,但是它提供了更強大功能
//其中result就相當于IEnumerable<Category>如果不知道為什么會推出這個來,
可以參考我原來寫的Lambda表達式那篇
//下面可以輸出result中的內容
foreach(var c in result)
Console.WriteLine("CategoryId={0},Name={1},Descn={2}",
c.CategoryId,c.Name,c.Descn);
以上就是對數據庫的查詢,我們可以寫出很復雜的查詢來,其實在內部,LINQ技術會把你寫的LINQ語句,轉換成SQL語句送到數據庫中去執行。然后返回相應的結果。如果大家想看轉換后的SQL語句,可以在建立完連接之后加上這樣一句:db.Log=Console.Out。這樣程序將自動輸出SQL語句和查詢結果.這里只是簡單的介紹了一下如何查詢,我們知道表與表之間還有關系,這些復雜的東西我們以后在詳細說明。
下面再來看看如何更改
//更改
string id = “DOGS";
var cat = db.Categories.Single(c => c. CategoryId == id);
cat. Name = “New Dogs";
//添加
Product p = new Product ...{ …….};
cat.Products.Add(p);
//刪除
string id = “DOGS";
var cat = db.Categories.Single(c => c. CategoryId == id);
db.Categories.Remove(cat)
//提交更改
db.SubmitChanges();
//注意, SubmiChanges() 完成了對象層到數據層的更改。
//也就說不進行提交,更改的結果不會存儲到數據庫中。
“LINQ查詢技術怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。