LINQ to SQL有很多值得学习的地方,这里我们主要介绍LINQ to SQL语句,包括介绍一对多关系和多对多关系等方面。

LINQ to SQL语句简单形式
说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库。
- NorthwindDataContext db = new NorthwindDataContext();
 - var newnewCustomer = 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",
 - Fax = null
 - };
 
语句描述:使用InsertOnSubmit方法将新客户添加到Customers 表对象。调用SubmitChanges 将此新Customer保存到数据库。
LINQ to SQL语句一对多关系
说明:Category与Product是一对多的关系,提交Category(一端)的数据时,LINQ to SQL会自动将Product(多端)的数据一起提交。
- var newnewCategory = new Category
 - {
 - CategoryName = "Widgets",
 - Description = "Widgets are the ……"
 - };
 - var newnewProduct = new Product
 - {
 - ProductName = "Blue Widget",
 - UnitPrice = 34.56M,
 - Category = newCategory
 - };
 
语句描述:使用InsertOnSubmit方法将新类别添加到Categories表中,并将新Product对象添加到与此新Category有外键关系的Products表中。调用SubmitChanges将这些新对象及其关系保存到数据库。
LINQ to SQL语句多对多关系
说明:在多对多关系中,我们需要依次提交。
- var newnewEmployee = new Employee
 - {
 - FirstName = "Kira",
 - LastName = "Smith"
 - };
 - var newnewTerritory = new Territory
 - {
 - TerritoryID = "12345",
 - TerritoryDescription = "Anytown",
 - Region = db.Regions.First()
 - };
 - var newnewEmployeeTerritory = new EmployeeTerritory
 - {
 - Employee = newEmployee,
 - Territory = newTerritory
 - };