您的位置:首页 > 数据库

c# linq to sql

2013-04-11 11:16 281 查看

使用 LINQ to SQL 可以执行的操作

.NET Framework 4

其他版本



Visual Studio 2008

此内容为质量更高的人工翻译。若想同时查看此页面和原始英文页面的内容,请单击“首选项”然后选择“经典视图”作为您的查看首选项。

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

选择

通过在您自己的编程语言中编写 LINQ 查询,然后执行此查询以检索结果,即可以实现选择(投影)。LINQ to SQL 自行将所有必要操作转换为您所熟悉的必要 SQL 操作。有关更多信息,请参见
LINQ to SQL

在下面的示例中,检索来自伦敦的客户的公司名称并将其显示在控制台窗口中。



VB
C#
C++
F#
JScript



复制

// Northwnd inherits from System.Data.Linq.DataContext.
Northwnd nw = new Northwnd(@"northwnd.mdf");
// or, if you are not using SQL Server Express
// Northwnd nw = new Northwnd("Database=Northwind;Server=server_name;Integrated Security=SSPI");

var companyNameQuery =
from cust in nw.Customers
where cust.City == "London"
select cust.CompanyName;

foreach (var customer in companyNameQuery)
{
Console.WriteLine(customer);
}


插入

若要执行 SQL
Insert,只需向您已创建的对象模型添加对象,然后对 DataContext 调用
SubmitChanges 即可。

在下面的示例中,通过使用
InsertOnSubmit
Customers 表添加了一位新客户以及有关该客户的信息。



VB
C#
C++
F#
JScript



复制

// Northwnd inherits from System.Data.Linq.DataContext.
Northwnd nw = new Northwnd(@"northwnd.mdf");

Customer cust = new Customer();
cust.CompanyName = "SomeCompany";
cust.City = "London";
cust.CustomerID = "98128";
cust.PostalCode = "55555";
cust.Phone = "555-555-5555";
nw.Customers.InsertOnSubmit(cust);

// At this point, the new Customer object is added in the object model.
// In LINQ to SQL, the change is not sent to the database until
// SubmitChanges is called.
nw.SubmitChanges();


更新

若要 Update 某一数据库项,首先要检索该项,然后直接在对象模型中编辑它。在修改了该对象之后,请对
DataContext 调用
SubmitChanges 以更新数据库。

在下面的示例中,检索来自伦敦的所有客户。然后将其所在城市的名称从“London”更改为“London - Metro”。最后,调用
SubmitChanges 以将所做的更改发送至数据库。



VB
C#
C++
F#
JScript



复制

Northwnd nw = new Northwnd(@"northwnd.mdf");

var cityNameQuery =
from cust in nw.Customers
where cust.City.Contains("London")
select cust;

foreach (var customer in cityNameQuery)
{
if (customer.City == "London")
{
customer.City = "London - Metro";
}
}
nw.SubmitChanges();


删除

若要 Delete 某一项,请从其所属集合中移除该项,然后对
DataContext 调用
SubmitChanges 以提交所做的更改。


说明
LINQ to SQL 无法识别级联删除操作。如果要在对行有约束的表中删除行,请参见如何:从数据库中删除行
(LINQ to SQL)。

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



VB
C#
C++
F#
JScript



复制

Northwnd nw = new Northwnd(@"northwnd.mdf");
var deleteIndivCust =
from cust in nw.Customers
where cust.CustomerID == "98128"
select cust;

if (deleteIndivCust.Count() > 0)
{
nw.Customers.DeleteOnSubmit(deleteIndivCust.First());
nw.SubmitChanges();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: