首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

LINQ to SQL 入門實戰(三):SQLMetal 產生映射類別、建立專案與第一個查詢

     編輯:關於C#

SQLMetal 工具位置與基本用法

安裝 LINQ Preview 後,sqlmetal.exe 位於:

  • C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
  • C:\WINDOWS\Microsoft.NET\Framework\v3.5

產生映射程式碼


sqlmetal /server:myserver /database:northwind /namespace:nwind /code:nwind.cs /language:csharp

參數說明:

  • /server:資料庫伺服器
  • /database:資料庫名稱
  • /namespace:產生程式碼命名空間
  • /code:輸出 .cs 檔案
  • /language:程式語言

映射檔案結構解析

DataContext 衍生類別


public partial class Northwind : DataContext {
    public Table Orders;
    public Table Products;
    public Table OrderDetails;
    // ...
}
  • partial:C# 2.0 特性,允許分散定義
  • 繼承 DataContext 才能獲得 LINQ to SQL 支援
  • Table 泛型對應資料表,Class 與 Table 一對一

實體類別:Order 範例


[Table(Name = "Orders")]
public partial class Order : INotifyPropertyChanging, INotifyPropertyChanged {
    private int _OrderID;
    private string _CustomerID;
    private Nullable _EmployeeID;
    // ...
    
    [Column(Storage="_OrderID", DBType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDBGenerated=true)]
    public int OrderID { get { return _OrderID; } }
    // ...
}
  • 實作 INotifyPropertyChanging/Changed 支援雙向繫結
  • ColumnAttribute 描述欄位對應:Storage(私有欄位)、DBType、IsPrimaryKey、IsDBGenerated
  • 關聯屬性使用 EntitySet/EntityRef(建構子初始化)

建立 LINQ Preview 專案並執行第一個查詢

  1. File → New Project → 選擇 LINQ Preview → LINQ Console Application
  2. 加入產生的 nwind.cs 至專案
  3. Program.cs 撰寫:

using nwind;
using System.Data.DLinq;

class Program {
    static void Main() {
        Northwind db = new Northwind("Your Connection String");
        var q = from c in db.Customers select c;
        foreach (var c in q) Console.WriteLine(c.ContactName);
    }
}

執行成功!下章將詳細講解 LINQ to SQL 語法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved