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

























it知識庫:Linq To Sql進階系列(一)從映射講起,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。