(015):使用LINQ to SQL可以执行的操作
2013-12-11 14:50
387 查看
视频演示:http://u.115.com/file/f2f877c8d1
LINQ to SQL 支持您作为 SQL 开发人员所期望的所有关键功能。 您可以查询表中的信息、在表中插入信息以及更新和删除表中的信息。
选择
通过在您自己的编程语言中编写 LINQ 查询,然后执行此查询以检索结果,即可以实现选择(投影)。 LINQ to SQL 自行将所有必要操作转换为您所熟悉的必要 SQL 操作。 有关更多信息,请参见 LINQ to SQL。
在下面的示例中,检索来自伦敦的客户的公司名称并将其显示在控制台窗口中。
插入
若要执行 SQL Insert,只需向您已创建的对象模型添加对象,然后对 DataContext 调用 SubmitChanges 即可。
在下面的示例中,通过使用 InsertOnSubmit 向 Customers 表添加了一位新客户以及有关该客户的信息。
更新
若要 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();
删除
若要 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();
}
视频演示: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); }
插入
若要执行 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();
更新
若要 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();
删除
若要 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();
}
相关文章推荐
- 光脚丫学LINQ(015):使用LINQ to SQL可以执行的操作
- 光脚丫学LINQ(015):使用LINQ to SQL可以执行的操作
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- Linq to sql使用笔记--update无效(类赋值操作)
- asp.net使用LINQ to SQL连接数据库及SQL操作语句用法分析
- Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- LINQ to SQL 中可以使用的LINQ函式
- Silverlight 2 (beta1)数据操作(6)——使用LINQ to SQL进行数据CRUD操作(下)
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- linq to sql 三层架构中使用CRUD操作
- Silverlight ——使用LINQ to SQL进行数据CRUD操作(上)
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- [导入]Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)
- Silverlight 2 (beta1)数据操作(6)——使用LINQ to SQL进行数据CRUD操作(下)
- 神兵利器——使用LINQ to SQL检索和操作数据库
- 如何构建和使用EF,用linqToSql实现对数据的操作
- Silverlight 2 (beta1)数据操作(5)——使用LINQ to SQL进行数据CRUD操作(上)
- asp.net使用LINQ to SQL连接数据库及SQL操作语句用法分析
- 使用LINQ to SQL更新数据库(中):几种解决方案