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