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

Linq to SQL 入門指南:從映射類別到查詢實戰

     編輯:關於.NET

Linq to SQL 是 LINQ 家族中操作關聯式資料庫的核心元件,核心組件為 System.Data.Linq.dll,入口點為 DataContext 類別。它採用侵入式映射 (Attribute),將實體類別與資料表對應。

實體類別映射範例

[Table(Name = "Users")]
public class User
{
    [Column(IsPrimaryKey = true)]
    public int UserId { get; set; }

    [Column]
    public string UserName { get; set; }

    [Column]
    public string Password { get; set; }

    [Column]
    public string BlogName { get; set; }

    [Column]
    public Role Role { get; set; }
}
  • [Table]:對應資料表,Name 若與類別名同可省略
  • [Column]:對應欄位,屬性名與欄位名同可省略 Name
  • IsPrimaryKey:標記主鍵

查詢實戰:找出使用者名稱以 "yu" 開頭的使用者

DataContext dbContext = new DataContext(connectionString);
dbContext.Log = Console.Out;  // 輸出生成的 SQL,利於除錯與優化

Table<User> users = dbContext.GetTable<User>();

var result = from user in users
             where user.UserName.StartsWith("yu")
             select user;

foreach (var u in result)
    Console.WriteLine(u.UserName);

關鍵優勢

  • Table<T> 實作 IEnumerable<T>,支援標準查詢運算子
  • dbContext.Log 可攔截生成 SQL,即時觀察效能
  • 程式碼如同直接操作物件,隱藏 ADO.NET 繁瑣的 DbCommand/DbConnection

Linq to SQL 雖僅支援 SQL Server,但開源專案 DbLinq 已擴充支援 MySQL、Oracle、PostgreSQL、SQLite 等。後續文章將深入探討進階映射、關聯載入、效能調優等主題。

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