|
系列文章導(dǎo)航:
Linq To Sql進(jìn)階系列(二)M:M關(guān)系
Linq To Sql進(jìn)階系列(三)CUD和Log
Linq To Sql進(jìn)階系列(四)User Define Function篇
Linq To Sql進(jìn)階系列(五)Store Procedure篇
Linq To Sql進(jìn)階系列(六)用object的動(dòng)態(tài)查詢與保存log篇
Linq To Sql進(jìn)階系列(七)動(dòng)態(tài)查詢續(xù)及CLR與SQL在某些細(xì)節(jié)上的差別
本系列,或多或少,直接或間接依賴入門(mén)系列知識(shí)。但,依然追求獨(dú)立成章。因本文作者水平有限,文中錯(cuò)誤難免,敬請(qǐng)讀者指出并諒解。本系列將會(huì)和入門(mén)并存。
案例
某君被邀為一超市設(shè)計(jì)數(shù)據(jù)庫(kù),用來(lái)存儲(chǔ)數(shù)據(jù)。該君根據(jù)該超市中實(shí)際出現(xiàn)的對(duì)象,設(shè)計(jì)了Customer, Employee,Order, Product等表,用來(lái)保存相應(yīng)的客戶,員工,訂單,貨品等。太好了,該君很有oo的思想嗎。
如果,你被要求用類(lèi)及對(duì)象,來(lái)描述該關(guān)系型數(shù)據(jù),你該如何做呢?在linq推出之前,ADO.NET被用來(lái)做數(shù)據(jù)訪問(wèn)層。而后,程序員需要自己去編寫(xiě)事務(wù)邏輯層中所出現(xiàn)的類(lèi)。比如,Customer, Employee,Order, Product等。然后,程序員組裝所需的sql語(yǔ)句,通過(guò)ADO.NET,將返回的記錄,來(lái)初始化Customer等類(lèi)的對(duì)象。在這里,你已經(jīng)自己動(dòng)手將Customer表和Customer類(lèi)關(guān)聯(lián)了起來(lái)。從Linq To Sql的設(shè)計(jì)來(lái)看,它主要是為了解決data!=objects 的問(wèn)題而產(chǎn)生的?,F(xiàn)在,有了Table和Class之間的映射,數(shù)據(jù)和對(duì)象之間就可以有一個(gè)一一對(duì)應(yīng)的關(guān)系了。
在Linq To Sql之前,在Java領(lǐng)域有Hibernate,在NET領(lǐng)域有NHibernate技術(shù),來(lái)實(shí)現(xiàn)object/relational 持久和查詢服務(wù)。無(wú)論是Hibernate還是NHibernate,其配置復(fù)雜,上手時(shí)間長(zhǎng),已經(jīng)不能適應(yīng)快速開(kāi)發(fā)的需要。而Linq To Sql的推出,恰恰彌補(bǔ)了它們的缺點(diǎn),徹底降低了程序開(kāi)發(fā)門(mén)檻。
Linq
Linq是Language Integrated Query的縮寫(xiě)。Linq To Sql是linq中的一部分,其與ADO.NET Orcas的關(guān)系入下。
系列文章導(dǎo)航:
Linq To Sql進(jìn)階系列(二)M:M關(guān)系
Linq To Sql進(jìn)階系列(三)CUD和Log
Linq To Sql進(jìn)階系列(四)User Define Function篇
Linq To Sql進(jìn)階系列(五)Store Procedure篇
Linq To Sql進(jìn)階系列(六)用object的動(dòng)態(tài)查詢與保存log篇
Linq To Sql進(jìn)階系列(七)動(dòng)態(tài)查詢續(xù)及CLR與SQL在某些細(xì)節(jié)上的差別
關(guān)系型數(shù)據(jù)的映射
數(shù)據(jù)間的關(guān)系,有2種基本關(guān)系。1: 1 和1: M。查閱northwind數(shù)據(jù)庫(kù)中的關(guān)系圖。本文用Order 和Order Detail 表,來(lái)闡述其關(guān)系的映射。Order 為訂單,Order Detail 為訂單詳情。其關(guān)系形式為,一條Order記錄對(duì)應(yīng)多條Order Detail 記錄。
你可以在上面產(chǎn)生的code中,找到相應(yīng)的order類(lèi),其中有這么一段

























it知識(shí)庫(kù):Linq To Sql進(jìn)階系列(一)從映射講起,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。