專利名稱:利用語言集成查詢linq進(jìn)行數(shù)據(jù)庫數(shù)據(jù)管理的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫技術(shù),尤其涉及數(shù)據(jù)庫的數(shù)據(jù)管理技術(shù)。
背景技術(shù):
. NET3. 5引入了一個新技術(shù),稱為語言集成查詢LINQ (LanguageIntegrated Query)。它是集成在.NET編程語言中的一種特性。LINQ能夠在編寫程序時可以提供很好 的編譯時語法檢查、豐富的元數(shù)據(jù)、智能感知、靜態(tài)類型等強(qiáng)類型語言的好處;并且它同時 還使得查詢可以方便地對內(nèi)存中的信息進(jìn)行查詢而不僅僅只是外部數(shù)據(jù)源,LINQ還提供抽 象意義上的指令輸入,使得對于數(shù)據(jù)庫中數(shù)據(jù)的管理也變得更加友好。LINQ的上述優(yōu)勢可以給現(xiàn)有的傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)管理帶來方便。
發(fā)明內(nèi)容
本發(fā)明提供一種使用LINQ來管理傳統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)的方法。根據(jù)本發(fā)明,提供一種利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)管理的方法,該方 法包括下述的步驟創(chuàng)建對象關(guān)系映射器,該對象關(guān)系映射器關(guān)聯(lián)一數(shù)據(jù)庫以及一用戶交 互界面;該對象關(guān)系映射器合并數(shù)據(jù)庫中處于不同集合中的數(shù)據(jù),生成實(shí)體類,該實(shí)體類在 用戶交互界面中顯示,并且映射到數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)集合;用戶交互界面接收添加數(shù)據(jù) 的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的 實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合;對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù) 集合中添加數(shù)據(jù)。該方法還包括用戶交互界面接收刪除數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指 向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映 射的數(shù)據(jù)集合;對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中刪除數(shù)據(jù)。該方法還包括用戶交互界面接收修改數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指 向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映 射的數(shù)據(jù)集合;對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中修改數(shù)據(jù)采用本發(fā)明的技術(shù)方案,利用語言集成查詢LINQ的功能,對用戶實(shí)現(xiàn)了抽象級別 上對傳統(tǒng)數(shù)據(jù)的管理,用戶可以根據(jù)自己熟悉的方式(抽象意義上的方式)輸入諸如添加、 刪除、修改等等的指令,而不必按照數(shù)據(jù)庫的數(shù)據(jù)保存方式來輸入這些指令,大大方便了用 戶的使用。
圖1揭示了根據(jù)本發(fā)明的利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)的方法中添加 數(shù)據(jù)的流程圖。圖2揭示了根據(jù)本發(fā)明的利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)的方法中刪除 數(shù)據(jù)的流程圖。
圖3揭示了根據(jù)本發(fā)明的利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)的方法中修改 數(shù)據(jù)的流程圖。
具體實(shí)施例方式根據(jù)本發(fā)明,揭示了 一種利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)的方法。參考圖 1所示,示出了添加數(shù)據(jù)的流程10.創(chuàng)建對象關(guān)系映射器,該對象關(guān)系映射器關(guān)聯(lián)一數(shù)據(jù)庫以及一用戶交互界面。11.該對象關(guān)系映射器合并數(shù)據(jù)庫中處于不同集合中的數(shù)據(jù),生成實(shí)體類,該實(shí)體 類在用戶交互界面中顯示,并且映射到數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)集合。12.用戶交互界面接收添加數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體 類的信息。13.對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合。14.對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中添加數(shù)據(jù)。添加數(shù)據(jù)的一個具體實(shí)現(xiàn)如下LINQ to SQL向數(shù)據(jù)庫中插入數(shù)據(jù)的功能由Table<T>類 的 InsertAll OnSubmit<TSubEntity> ()禾口 I ηsertOnSubmit ()方法實(shí) 現(xiàn)。其中,InsertOnSubmitO方法將單個實(shí)體添加到Table<T>類的實(shí)例中, InsertAl 10nSubmit<TSubEntity> ()方法將實(shí)體的集合添加到TableCD類的實(shí)例中。它們 的原型如下。Public void InsertOnSubmit(TEntity entity)Public void InsertAl10nSubmit<TSubEntity>(IEnumerable<TSubEntity>enti ties)where TSubEntity其中,entity參數(shù)表示單個實(shí)體,entities參數(shù)表示實(shí)體的集合。參考圖2所示,示出了刪除數(shù)據(jù)的流程20.創(chuàng)建對象關(guān)系映射器,該對象關(guān)系映射器關(guān)聯(lián)一數(shù)據(jù)庫以及一用戶交互界面。21.該對象關(guān)系映射器合并數(shù)據(jù)庫中處于不同集合中的數(shù)據(jù),生成實(shí)體類,該實(shí)體 類在用戶交互界面中顯示,并且映射到數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)集合。22.用戶交互界面接收刪除數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體 類的信息。23.對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合。24.對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中刪除數(shù)據(jù)。刪除數(shù)據(jù)的一個具體實(shí)現(xiàn)如下LINQ to SQL從數(shù)據(jù)庫中刪除數(shù)據(jù)的功能由Table<T>類 的 DeleteA110nSubmit<TSubEntity> ()禾口 De1eteOnSubmit ()方法實(shí) 現(xiàn)。其中,DeleteOnSubmitO方法從TableCD類的實(shí)例中刪除單個實(shí)體, DeleteA110nSubmit<TSubEntity> ()方法將從TableCD類的實(shí)例中刪除實(shí)體的集合。它們 的原型如下。
Public void DeleteOnSubmit(TEntity entity)Public void DeleteA110nSubmit<TSubEntity>(IEnumerable<TSubEntity>enti ties)where TSubEntity其中,entity參數(shù)表示單個實(shí)體,entities參數(shù)表示實(shí)體的集合。參考圖3所示,示出了修改數(shù)據(jù)的流程30.創(chuàng)建對象關(guān)系映射器,該對象關(guān)系映射器關(guān)聯(lián)一數(shù)據(jù)庫以及一用戶交互界面。31.該對象關(guān)系映射器合并數(shù)據(jù)庫中處于不同集合中的數(shù)據(jù),生成實(shí)體類,該實(shí)體 類在用戶交互界面中顯示,并且映射到數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)集合。32.用戶交互界面接收修改數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體 類的信息。33.對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合。34.對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中修改數(shù)據(jù)。修改數(shù)據(jù)的一個具體實(shí)現(xiàn)如下使用LINQ to SQL修改數(shù)據(jù)庫中的數(shù)據(jù)的功能一般的實(shí)現(xiàn)步驟如下(1)使用LINQ查詢找到被修改的記錄。(2)修改記錄的值。(3)調(diào)用SubmitChanges ()方法將上述修改提交到數(shù)據(jù)庫,并完成修改操作。采用本發(fā)明的技術(shù)方案,利用語言集成查詢LINQ的功能,對用戶實(shí)現(xiàn)了抽象級別 上對傳統(tǒng)數(shù)據(jù)的管理,用戶可以根據(jù)自己熟悉的方式(抽象意義上的方式)輸入諸如添加、 刪除、修改等等的指令,而不必按照數(shù)據(jù)庫的數(shù)據(jù)保存方式來輸入這些指令,大大方便了用 戶的使用。
權(quán)利要求
一種利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)管理的方法,其特征在于,該方法包括下述的步驟創(chuàng)建對象關(guān)系映射器,該對象關(guān)系映射器關(guān)聯(lián)一數(shù)據(jù)庫以及一用戶交互界面;該對象關(guān)系映射器合并數(shù)據(jù)庫中處于不同集合中的數(shù)據(jù),生成實(shí)體類,該實(shí)體類在用戶交互界面中顯示,并且映射到所述數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)集合;用戶交互界面接收添加數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合;對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中添加數(shù)據(jù)。
2.如權(quán)利要求1所述的利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)管理的方法,其特征在 于,還包括用戶交互界面接收刪除數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合; 對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中刪除數(shù)據(jù)。
3.如權(quán)利要求1所述的利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)管理的方法,其特征在 于,還包括用戶交互界面接收修改數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合; 對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中修改數(shù)據(jù)。
全文摘要
本發(fā)明揭示了一種利用語言集成查詢LINQ進(jìn)行數(shù)據(jù)庫數(shù)據(jù)管理的方法,包括創(chuàng)建對象關(guān)系映射器,該對象關(guān)系映射器關(guān)聯(lián)一數(shù)據(jù)庫以及一用戶交互界面;該對象關(guān)系映射器合并數(shù)據(jù)庫中處于不同集合中的數(shù)據(jù),生成實(shí)體類,該實(shí)體類在用戶交互界面中顯示,并且映射到數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)集合;用戶交互界面接收添加數(shù)據(jù)的指令,該添加數(shù)據(jù)的指令中包含指向一個實(shí)體類的信息;對象關(guān)系映射器根據(jù)所指向的實(shí)體類找到該實(shí)體類在數(shù)據(jù)庫中所映射的數(shù)據(jù)集合;對象關(guān)系映射器在數(shù)據(jù)庫中的該數(shù)據(jù)集合中添加數(shù)據(jù)。
文檔編號G06F17/30GK101989275SQ20091005577
公開日2011年3月23日 申請日期2009年7月31日 優(yōu)先權(quán)日2009年7月31日
發(fā)明者徐小進(jìn), 沙潔 申請人:上海杉達(dá)學(xué)院