LINQ檢索數(shù)據(jù)淺談
LINQ有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ檢索數(shù)據(jù),包括介紹通過(guò)LINQ檢索數(shù)據(jù)庫(kù)中Customers表City等于London的數(shù)據(jù)等方面。
LINQ檢索數(shù)據(jù)
LINQ檢索數(shù)據(jù)提供的語(yǔ)法結(jié)構(gòu)與SQL比較接近,這讓我們使用起來(lái)更加容易上手。Northwind.dbml自動(dòng)包裝了一個(gè)上下文對(duì)象 NorthwindDataContext類,其中包括了我們?cè)贜orthwind數(shù)據(jù)庫(kù)中要使用的所有實(shí)體類和存儲(chǔ)過(guò)程映射方法,同時(shí)還提供了操作表數(shù)據(jù)的方法,使用時(shí)我們不需要去關(guān)心它是如何連接數(shù)據(jù)庫(kù)并進(jìn)行底層數(shù)據(jù)操作的。事實(shí)上,Northwind.dbml文件中已經(jīng)包含了這些基礎(chǔ)設(shè)施!使用記事本打開(kāi)Northwind.dbml,可以發(fā)現(xiàn)這是一個(gè)純粹的XML結(jié)構(gòu)化文件,里面包含了數(shù)據(jù)庫(kù)連接字符串和一些數(shù)據(jù)庫(kù)實(shí)體類的映射關(guān)系,同時(shí),Northwind.designer.cs文件中也做了很多基礎(chǔ)性的工作,感興趣的讀者可以自行研究其中的代碼,或許對(duì)解決實(shí)際問(wèn)題有所幫助。本文在這里不對(duì)這個(gè)文件的具體結(jié)構(gòu)作詳細(xì)的解釋。
下面的這個(gè)例子展示了通過(guò)LINQ檢索數(shù)據(jù)庫(kù)中Customers表City等于London的數(shù)據(jù),并在Command窗口中打印出來(lái)。
- using (NorthwindDataContext context =new NorthwindDataContext())
- {
- var results = from curstomers in context.Customers
- where curstomers.City =="London"
- orderby curstomers.CompanyName
- select curstomers;
- foreach (var curstomers in results)
- {
- Console.WriteLine("Company is {0} and Contact is {1}",
- curstomers.CompanyName, curstomers.ContactName);
- }
- // Pause to see the output
- Console.ReadLine();
- }
【編輯推薦】