顯示具有 LINQ to SQL 標籤的文章。 顯示所有文章
顯示具有 LINQ to SQL 標籤的文章。 顯示所有文章

2013年11月25日 星期一

LINQ to SQL 學習筆記 - 起步指南(USER GUIDELINE)

簡介


說明如何透過 物件關聯式設計工具 (O/R 設計工具) 視覺化的設計介面 從現有的資料庫建立物件模型 (Object Model),設計實體類別和類別間的關聯。

主題


從現有的資料庫建立物件模型 (Object Model)

  • 加入新項目,選擇 LINQ to SQL

  • 以Web 應用為例,系統自動簽出,寫入資料至 webconfig.xml 如下:

 <add assembly="System.Data.Linq, Version=XXXXX, Culture=neutral, PublicKeyToken=XXXXX"/>

  • 產生 DBML 檔案集合


  • 點選 DBML 檔案,連線資料庫,可直接拖拉資料表至設計區塊


設計物件的關聯

建立關係需要設定父類別與子類別。父類別是包含主索引鍵的實體類別,而子類別是包含外部索引鍵的實體類別。 例如,如果要建立人員 persons 和課程 Records 資料表對應的實體類別,則人員 (Person) 類別會是父類別,而訂單 (Record)  類別會是子類別人員資料(Person),包含員工代碼和姓名...等。紀錄資料(Record),包含老師代碼和課程名稱...等。如下圖所示。


建立物件關聯,方便於撰寫 code 取得所需資訊。若開發課程查詢功能需列出老師姓名,一般會使用 SQL 的 JOIN 合併資料。現在僅需設定關聯,開發時按「.」,就能存取資料,例如:record.person.name即可取得「該筆紀錄」的老師姓名。

設定物件欄位的屬性

  • 自訂資料欄位權限
透過圖形化介面即可設定資料欄位存取權限,隱藏敏感性較高的資料,避免造成資料外洩。例如:撰寫 WebService 服務,直接將資料庫取得的數值序列化傳送至使用者端(Client Side),這已造成資料外洩。  

LINQ to SQL 學習筆記

簡介


學習 LINQ to SQL,透過友善的使用者介面,快速且方便的建構與資料庫的新增、刪除、修改、查詢...等操作。使用後,不但寫的程式變少,程式維護更簡單,更能專注於程式邏輯發展,而非花大量時間建構和維護 SQL。

多人開發專案中。若沒有統一存取資料表的介面,各自寫自己的 SQL。當更動資料庫欄位時,就得通知大家一起改,造成相當大的維護成本。LINQ to SQL是一套還不錯的方法,可解決以上問題。

目錄


  • 操作(OPERATION)

  1. 查詢(SELECT)
  2. 新增(INSERT)
  3. 修改(UPDATE)
  4. 刪除(DELETE)

  • 安全性 (SECURITY)
  1. SQL INJECTION