linqtosql多表
『壹』 用LINQtoSQL創建Web應用系統(一)
在新的 Net Framework 平台上 Microsoft發布了LINQ(C# VB Net ) 集成語言查詢(Language Integrated Query) 也就是通過編程語言來查詢數據
*資料庫 (LINQ to SQL)
*DataSet 數據集(LINQ to Dataset)
*XML文檔 (LINQ to XML)
*實體對象 (LINK to Entities)
本文將演示如何在ASP NET 平台上 使用LINQ to SQL構建多層的Web應用程序 在當前的編程領域中 創建N Tier應用程序成為一般的要求 且 NET Framework 提供了靈活的支持 一般而言 N Tier應用程序畝鬧好有如下幾個層 表示層 業務邏輯層 數據訪問層 資料庫層 每一層均完成特定的任務 本篇文章中介紹的架構和經典的N Tier相似 不過資料庫層替換新的DataLinq 層 使用LINQ to SQL 完成數據操作
圖 基於LINQ to SQL的彎告N Tier架構
架構思考
如果你有大型ASP NET項目的經歷 你可能會注意到更多的時間花在寫組件代碼 而不是Web頁面代碼 有時 組件的設計和管理成為一個費時的過程 你可能正迅鉛遇到架構方面的問題 尋找最好的方式來設計Web應用程序
我寫這篇文章的想法是介紹一個好的設計模式 並不是得到一個結論或者聲明這是一個最好的N Tier應用程序的設計模式 因為對於架構設計 每一個開發人員總是有自己的觀點 所以任何合適的架構闡述都是有爭議的 然而 如圖 所示 分離不同的代碼到不同的層總是一個好的實踐 按這樣組織代碼 可以更方便地維護和擴展應用程序
在圖 中 你可以看到業務組件分割到不同的層 組織代碼最好的方法是為每一個業務組件創建不同的類庫(Class Library) Visual Studio允許在同一個Solution中創建多個項目 因此 我們可以在同一個Solution中加入ASP NET 應用程序和類庫Class Library項目 當你在編譯Solution時 每一個項目都會生成在bin目錄下生成一個assembly程序集文件 方法 我們可以手動復制 DLL文件到應用程序的bin目錄 方法 增加項目引用 當你編譯Solution時 第二種方法可以自動更新應用程序bin目錄的程序集文件 通過這種方式組織代碼 可以更容易修改/更新項目的特定代碼 也容易從不同的Server上遷移代碼 我不想深入探討架構 這里我通過截屏來解釋如何實現
假定你已經具備經典 層架構應用程序的設計經驗 我告訴你如何建立層與層之間的引用關系 接著你可以自己建立項目引用 圖 上的箭頭符號說明了不同層之間的交互 說明如下
( ) 數據訪問層引用Data Linq 層( 開源小組注 原文說還需要引用業務外觀(Business Facade)層 原文有誤)
( ) 業務外觀(Business Facade)層引用Data Linq 層和數據訪問層 因為業務外觀層使用Data Linq層的業務實體來創建表實體(後面進行詳細討論) 同時調用數據訪問層的方法
lishixin/Article/program/net/201311/12345