zoukankan      html  css  js  c++  java
  • 光脚丫学LINQ(015):使用LINQ to SQL可以执行的操作

    视频演示:http://u.115.com/file/f2f877c8d1

    LINQ to SQL 支持您作为 SQL 开发人员所期望的所有关键功能。 您可以查询表中的信息、在表中插入信息以及更新和删除表中的信息。


    选择
    通过在您自己的编程语言中编写 LINQ 查询,然后执行此查询以检索结果,即可以实现选择(投影)。 LINQ to SQL 自行将所有必要操作转换为您所熟悉的必要 SQL 操作。 有关更多信息,请参见 LINQ to SQL。
    在下面的示例中,检索来自伦敦的客户的公司名称并将其显示在控制台窗口中。

    NorthwindDataContext db = new NorthwindDataContext();   
    var CompanyNames = from Customer in db.Customers   
                       where Customer.City == "London"  
                       select Customer.CompanyName;   
      
    foreach (var Customer in CompanyNames)   
    {   
        Console.WriteLine(Customer);   
    }  
    NorthwindDataContext db = new NorthwindDataContext();
    var CompanyNames = from Customer in db.Customers
                       where Customer.City == "London"
                       select Customer.CompanyName;
    
    foreach (var Customer in CompanyNames)
    {
        Console.WriteLine(Customer);
    } 
    


    插入
    若要执行 SQL Insert,只需向您已创建的对象模型添加对象,然后对 DataContext 调用 SubmitChanges 即可。
    在下面的示例中,通过使用 InsertOnSubmit 向 Customers 表添加了一位新客户以及有关该客户的信息。

    NorthwindDataContext db = new NorthwindDataContext();   
      
    Customers NewCustomer = new Customers();   
    NewCustomer.CompanyName = "SomeCompany";   
    NewCustomer.City = "London";   
    NewCustomer.CustomerID = "98128";   
    NewCustomer.PostalCode = "55555";   
    NewCustomer.Phone = "555-555-5555";   
    db.Customers.InsertOnSubmit(NewCustomer);   
      
    db.SubmitChanges();  
    NorthwindDataContext db = new NorthwindDataContext();
    
    Customers NewCustomer = new Customers();
    NewCustomer.CompanyName = "SomeCompany";
    NewCustomer.City = "London";
    NewCustomer.CustomerID = "98128";
    NewCustomer.PostalCode = "55555";
    NewCustomer.Phone = "555-555-5555";
    db.Customers.InsertOnSubmit(NewCustomer);
    
    db.SubmitChanges(); 
    


    更新
    若要 Update 某一数据库项,首先要检索该项,然后直接在对象模型中编辑它。 在修改了该对象之后,请对 DataContext 调用 SubmitChanges 以更新数据库。
    在下面的示例中,检索来自伦敦的所有客户。 然后将其所在城市的名称从“London”更改为“London - Metro”。 最后,调用 SubmitChanges 以将所做的更改发送至数据库。

    NorthwindDataContext db = new NorthwindDataContext();   
      
    var LondonCustomers = from Customer in db.Customers   
                          where Customer.City.Contains("London")   
                          select Customer;   
      
    foreach (var Customer in LondonCustomers)   
    {   
        if (Customer.City == "London")   
        {   
            Customer.City = "London - Metro";   
        }   
    }   
      
    db.SubmitChanges();  
    NorthwindDataContext db = new NorthwindDataContext();
    
    var LondonCustomers = from Customer in db.Customers
                          where Customer.City.Contains("London")
                          select Customer;
    
    foreach (var Customer in LondonCustomers)
    {
        if (Customer.City == "London")
        {
            Customer.City = "London - Metro";
        }
    }
    
    db.SubmitChanges();
    


    删除
    若要 Delete 某一项,请从其所属集合中移除该项,然后对 DataContext 调用 SubmitChanges 以提交所做的更改。
    说明
    LINQ to SQL 无法识别级联删除操作。 如果要在对行有约束的表中删除行,请参见如何:从数据库中删除行 (LINQ to SQL)。

    在下面的示例中,从数据库中检索 CustomerID 为 98128 的客户。 然后,在确认检索到客户行之后,调用 DeleteOnSubmit 以将该对象从集合中移除。 最后,调用 SubmitChanges 以将删除内容转发至数据库。

    NorthwindDataContext db = new NorthwindDataContext();   
      
    var DeletedCustomers = from Customer in db.Customers   
                          where Customer.CustomerID == "98128"  
                          select Customer;   
      
    if (DeletedCustomers.Count() > 0)   
    {   
        db.Customers.DeleteOnSubmit(DeletedCustomers.First());   
        db.SubmitChanges();   
    }
  • 相关阅读:
    GIthub的小技巧
    C#中DateTime格式转换
    流程控制: if分支 while循环 for循环
    注释,输入,格式化输出,数据类型,运算符
    计算机原理简单了解
    day30
    day19
    day18 时间:time:,日历:calendar,可以运算的时间:datatime,系统:sys, 操作系统:os,系统路径操作:os.path,跨文件夹移动文件,递归删除的思路,递归遍历打印目标路径中所有的txt文件,项目开发周期
    day17跨文件夹导入模块,模块的两种被执行方式,包,直接使用包中模块,包的管理
    day16模块,导入模板完成的三件事,起别名,模块的分类,模块的加载顺序,环境变量,from...import语法导入,from...import *,链式导入,循环导入
  • 原文地址:https://www.cnblogs.com/GJYSK/p/1864872.html
Copyright © 2011-2022 走看看