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

LINQ to SQL 新增操作:簡單插入、一對多、多對多與動態 CUD 覆寫

     編輯:關於.NET

插入基本流程

  1. 建立實體物件並設定屬性
  2. Table<T>.InsertOnSubmit(entity) 標記插入
  3. db.SubmitChanges() 執行

四種關聯插入場景

1. 簡單插入

var newCustomer = new Customer {
    CustomerID = "MCSFT", CompanyName = "Microsoft", ContactName = "John Doe",
    ContactTitle = "Sales Manager", Address = "1 Microsoft Way", City = "Redmond",
    Region = "WA", PostalCode = "98052", Country = "USA", Phone = "(425) 555-1234"
};
db.Customers.InsertOnSubmit(newCustomer);
db.SubmitChanges();

2. 一對多:Category → Products

只需插入一端,LINQ to SQL 依導覽屬性自動處理多端外鍵。

var newCategory = new Category { CategoryName = "Widgets", Description = "Widgets are..." };
var newProduct = new Product { ProductName = "Blue Widget", UnitPrice = 34.56M, Category = newCategory };
db.Categories.InsertOnSubmit(newCategory);
db.SubmitChanges();

3. 多對多:Employee ↔ Territory(需中介表 EmployeeTerritory)

var emp = new Employee { FirstName = "Kira", LastName = "Smith" };
var terr = new Territory { TerritoryID = "12345", TerritoryDescription = "Anytown", Region = db.Regions.First() };
var empTerr = new EmployeeTerritory { Employee = emp, Territory = terr };

db.Employees.InsertOnSubmit(emp);
db.Territories.InsertOnSubmit(terr);
db.EmployeeTerritories.InsertOnSubmit(empTerr);
db.SubmitChanges();

4. 動態 CUD 覆寫:指定主鍵值插入/更新

利用 DataContext 分部方法 InsertRegion 覆寫預設行為:

Region nwRegion = new Region { RegionID = 32, RegionDescription = "Rainy" };
db.Regions.InsertOnSubmit(nwRegion);
db.SubmitChanges();
// 若 RegionID=32 已存在則更新,否則插入
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved