Linq to Sql : 并發(fā)沖突及處理策略
摘要:0. 并發(fā)沖突的示例 單用戶的系統(tǒng)現(xiàn)在應該比較罕見了,一般系統(tǒng)都會有很多用戶在同時進行操作;在多用戶系統(tǒng)中,涉及到的一個普遍問題:當多個用戶“同時”更新(修改或者刪除)同一條記錄時,該如何更新呢? 下圖展示了開放式并發(fā)沖突的一個示例: 假設數(shù)據(jù)庫中有一條記錄Record{Field1=5, Field2=6, Field3=7}(以下簡寫為{5, 6, 7}),A、B兩個用戶按照如下順序操作這一...
閱讀全文
posted @
2010-01-30 18:23
Silent Void
閱讀(6343)
推薦(2)
LINQ To SQL在N層應用程序中的CUD操作、批量刪除、批量更新
摘要:0. 說明 Linq to Sql,以下簡稱L2S。 以下文中所指的兩層和三層結(jié)構(gòu),分別如下圖所示: 準確的說,這里的分層并不是特別明確:(1) 生成的DataContext(Linq t0 SQL Runtime)和Entity是放在一個文件中的,物理上不能切割開來;上圖只是展示邏輯上的結(jié)構(gòu)。(2) 拿上圖右邊的三層結(jié)構(gòu)來說,鑒于第(1)點,UI層就可以跨越BusinessLogic層,直接訪...
閱讀全文
posted @
2010-01-29 16:07
Silent Void
閱讀(4241)
推薦(0)
Linq to Sql : 三種事務處理方式
摘要:Linq to SQL支持三種事務處理模型:顯式本地事務、顯式可分發(fā)事務、隱式事務。(from MSDN: 事務 (LINQ to SQL))。MSDN中描述得相對比較粗狂,下面就結(jié)合實例來對此進行闡述。 0. 測試環(huán)境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP...
閱讀全文
posted @
2010-01-27 14:47
Silent Void
閱讀(22307)
推薦(6)
Linq to Sql:N層應用中的查詢(下) : 根據(jù)條件進行動態(tài)查詢
摘要:如果允許在UI層直接訪問Linq to Sql的DataContext,可以省去很多問題,譬如在處理多表join的時候,我們使用var來定義L2S查詢,讓編譯器自動推斷變量的具體類型(IQueryable<匿名類型>),并提供友好的智能提示;而且可以充分應用L2S的延遲加載特性,來進行動態(tài)查詢。但如果我們希望將業(yè)務邏輯放在一個獨立的層中(譬如封裝在遠程的WCF應用中),又希望在邏輯層應...
閱讀全文
posted @
2010-01-26 20:01
Silent Void
閱讀(7411)
推薦(2)
Linq to Sql:N層應用中的查詢(上) : 返回自定義實體
摘要:如果允許在UI層直接訪問Linq to Sql的DataContext,可以省去很多問題,譬如在處理多表join的時候,我們使用var來定義L2S查詢,讓IDE自動推斷變量的具體類型(IQueryable<匿名類型>),并提供友好的智能提示;而且可以充分應用L2S的延遲加載特性,來進行動態(tài)查詢。但如果我們希望將業(yè)務邏輯放在一個獨立的層中(譬如封裝在遠程的WCF應用中),又希望在邏輯層應...
閱讀全文
posted @
2010-01-25 13:55
Silent Void
閱讀(7114)
推薦(0)
MyGeneration學習筆記(11) :dOOdad的架構(gòu)(Architectures)
摘要: 前面10篇介紹了使用dOOdads做ORM映射的基本使用方法和我在使用過程中的總結(jié)的一些技巧,這里我再對dOOdads項目做一個概要的總結(jié):
1. 使用dOOdads的概要步驟:詳細步驟及我在使用中遇到的問題,我以前都有記錄http://www.rzrgm.cn/happyhippy/category/79938.html
2. dOOdad的架構(gòu):
閱讀全文
posted @
2007-04-16 16:38
Silent Void
閱讀(4654)
推薦(0)
MyGeneration學習筆記(10) :配置數(shù)據(jù)庫連接
摘要:在dOOdad生成的Concrete Class的構(gòu)造函數(shù)中設置數(shù)據(jù)庫連接字符串
閱讀全文
posted @
2007-01-29 13:14
Silent Void
閱讀(1534)
推薦(0)
MyGeneration學習筆記(9) :在WebService使用dOOdad時,對ToXml/FromXml的一點改進
摘要:ToXml()返回的數(shù)據(jù)中丟失了Schema,調(diào)用FromXml()之前需要重新構(gòu)造Schema...
閱讀全文
posted @
2006-09-02 19:48
Silent Void
閱讀(718)
推薦(0)
MyGeneration學習筆記(6) :在Web Service中使用dOOdad(下)
摘要:上一篇文章講述了怎樣插入一條記錄,這里補充一下查詢、修改和刪除一條記錄。相對插入而言,查詢、修改和刪除容易得多,下面分別給出我的一種實現(xiàn)……
閱讀全文
posted @
2006-08-23 21:43
Silent Void
閱讀(491)
推薦(0)
MyGeneration學習筆記(5) :在Web Service中使用dOOdad(中)
摘要:業(yè)務實體類中有提供ToXml和FromXml方法,實現(xiàn)了字符串到Datatable的轉(zhuǎn)換,于是決定試下用字符串來保存DataTable信息,然后再在網(wǎng)絡中傳輸字符串,這就是我的原始想法……
閱讀全文
posted @
2006-08-23 06:07
Silent Void
閱讀(595)
推薦(0)
MyGeneration學習筆記(4) :在Web Service中使用dOOdad(上)
摘要:dOOdad對Web Service的支持還不夠好,dOOdad的核心是DataTable,而在ADO.Net 2.0中的DataTable雖然相對1.x功能擴展了不少,微軟鼓吹DataTable功能有多強多強,據(jù)說Web Service也都支持返回DataTable,但俺試了一下,發(fā)現(xiàn)還存在不少問題。既然Web service不支持DataTable作返回值,所以要將業(yè)務實體類內(nèi)部的信息在網(wǎng)絡中傳輸,就得想其他辦法……
閱讀全文
posted @
2006-08-23 05:33
Silent Void
閱讀(987)
推薦(0)
MyGeneration學習筆記(3) : dOOdads及生成代碼的一些bug
摘要:沒有軟件會不存在bug,找到一個bug只能說明系統(tǒng)還存在Bug。MyGeneration也不例外,其中存在存在bug;但我們不能因為其有bug而不去用它,這是因噎廢食。下面就是我在使用dOOdad時遇到的幾個bug及我自己的解決辦法……
閱讀全文
posted @
2006-08-23 05:17
Silent Void
閱讀(1212)
推薦(0)
MyGeneration學習筆記(1) : 使用MyGeneration生成存儲過程和數(shù)據(jù)訪問層代碼
摘要:用MyGeneration(我用的MyGeneration的版本號是1.5.1)的dOOdad模板(使用其自帶的模版)來生成代碼,及將這些代碼加入到項目中
閱讀全文
posted @
2006-08-23 00:04
Silent Void
閱讀(4041)
推薦(0)