最近做的一個項目,我最開始選用的是 MySql 5.0 資料庫,項目提交之後,對方要求換成 MS SQLServer 2000,還好資料層操作基本採用的是標準的SQL語句,也未使用預存程序,於是將原有的資料接入層代碼改寫成泛型類,只改了不到一百行代碼,具體的SQL動作陳述式一句未動,便實現了資料庫之間的切換。下面簡述:資料庫不是很複雜,因此我採用了兩個類:(1) DataProvider 泛型類public class DataProvider<ConnType, CmdType>
有朋友反饋說我提供的sample不能編譯。大概是版本的問題,可以到http://msdn2.microsoft.com/en-us/bb330936.aspx下載for beta1的版本。本節接著講groupby。上一節,我們講了如何理解groupby返回的結果。本節會延這個思路闡述下去。先來看下面的例子GroupBy操作中Select的匿名類var q = from p in db.Productsgroup p by p.CategoryID into gselect new {
換一種寫作風格。本節講groupby操作。在所有的Linq To Sql操作中,GroupBy是最難理解的一個。因為,這裡和Sql的出入較大。而Group真的就能返回n多組。開啟vs,建立一工程,加入System.Data.Linq.dll的引用。把northwind資料庫做個映射,添加到工程裡。建立一Northwind類的對象。在這裡呢,我們要做分組統計,我們要先明白什麼是分組。在我們開始設計product表時,我們欲留了一列叫做CategoryID。
先給關注dlinq的朋友們道歉,最近工作實在忙,沒有時間來寫blog。從本節開始,我們講dlinq文法咯。我們先從select子句講起。看下面的例子。var q = from c in db.Customers select c.ContactName;這是一個最簡單的dlinq查詢語句,查詢得到連絡人的名字。在這裡,我需要提醒下大家的是,像這個語句只是個聲明,dlinq並沒有真正把資料取出來,只有當你需要該資料的時候,它才會幫你去取,這就是消極式載入(deferred
using system; using system.Collections.Generic; using system.ComponentModel; using system.Data; using system.Drawing; using system.Text; using system.windows.Forms; using system.IO; using
最近搞一個自動運行系統,需要實現大量的隨機方法,其中就有隨機排序List。我記得在JDK裡面的List有個 Collections.shuffle(list) 方法,可以直接進行列表亂序,結果在C#裡面卻沒有發現相關的方法,很是頭疼。看了網上介紹的一些方法發現在效率上都很差,然後查看了一下MSDN,想起List還有個Insert方法,嘿嘿,靈機一動,搞出一個非常簡單的東西,代碼如下:程式碼Random random = new Random();List<Content>
回溯法也稱為試探法,該方法首先暫時放棄關於問題規模大小的限制,並將問題的候選解按某種順序逐一枚舉和檢驗。在回溯法中,放棄當前候選解,尋找下一個候選解的過程稱為回溯。本執行個體是用回溯法輸出n個自然數中以r個數全排列。代碼如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />public void Arrange(int n, int r) int i =