java linq是什么,讓我們一起了解一下?
LINQ是一種完全不同的查詢語言,查詢語言通常是具有許多關鍵字的聲明性編程語言,提供的控制流元素很少,但是具有很高的描述性,最受歡迎的查詢語言是SQL,這是ISO / IEC標準化的結構化查詢語言,主要用于關系數(shù)據(jù)庫。
LINQ使用示例:
當查看LINQ-to-SQL文檔給出的一些示例時, 例如Count()聚合函數(shù):
System.Int32?notDiscontinuedCount?= (from?prod?in?db.Products where?!prod.Discontinued select?prod) .Count(); Console.WriteLine(notDiscontinuedCount);
在上面的示例中,尚不清楚立即將.Count()函數(shù)轉換為帶括號的查詢中SQL?count(*)聚合函數(shù)(然后為什么不將其放入投影中?),或者是否將其應用僅在執(zhí)行查詢后,才在應用程序內存中。 如果需要將大量記錄從數(shù)據(jù)庫傳輸?shù)絻却妫瑒t后者將是禁止的。 根據(jù)交易模型的不同,它們甚至需要被讀取鎖定!
這里給出了另一個示例,其中解釋了分組?:
var?prodCountQuery?= from?prod?in?db.Products group?prod?by?prod.CategoryID?into?grouping where?grouping.Count()?>=?10 select?new { grouping.Key, ProductCount?=?grouping.Count() };
在這種情況下,LINQ對它的語言方面建模完全不同于SQL。 上面的LINQ?where子句顯然是SQL?HAVING子句。?但是,這不會直接映射到SQL,并且LINQ必須在內部使用它來生成類型化的輸出。
以上就是小編今天的分享了,希望可以幫助到大家。