文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>光脚丫学LINQ(015):使用LINQ to SQL可以执行的操作

光脚丫学LINQ(015):使用LINQ to SQL可以执行的操作

时间:2010-10-30  来源:光脚丫思考

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();   
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载