Table<T>.InsertOnSubmit(entity) 標記插入db.SubmitChanges() 執行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();
只需插入一端,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();
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();
利用 DataContext 分部方法 InsertRegion 覆寫預設行為:
Region nwRegion = new Region { RegionID = 32, RegionDescription = "Rainy" };
db.Regions.InsertOnSubmit(nwRegion);
db.SubmitChanges();
// 若 RegionID=32 已存在則更新,否則插入