1.新建一个winform项目。
2.添加一个Linq to Sql 类,命名为Northwind
3.打开服务器资源管理器,将表拖动到linq to sql 类,实体类就由Vs生成了
4.实例化DataContext类
NorthwindDataContext dc = new NorthwindDataContext();
5.下面就可以使用Linq to Sql啦。
a.查询Employees所有数据
var ee =
from employee in dc.Employees
select employee;
b.加个Where条件,查询Employee表所有City=London
vare2 =fromemployeeindc.Employeeswhereemployee.City =="London"selectemployee;
c.查询EmployeeID<5的数据
vare3 =fromemployeeindc.Employeeswhereemployee.EmployeeID <5selectemployee;
d.查询雇佣日期在1993年1月1日以前的人员。
vare4 =fromemployeeindc.Employeeswhereemployee.HireDate <newDateTime(1993,1,1)selectemployee;
e.多个查询条件
vare5 =fromemployeeindc.Employeeswhereemployee.HireDate <newDateTime(1993,1,1)whereemployee.EmployeeID <3selectemployee;
f.like语句
vare6 =fromemployeeindc.EmployeeswhereSqlMethods.Like(employee.FirstName,"%a%")//where employee.FirstName.Contains("a")//等价于 like '%a%'//where employee.FirstName.StartsWith("a")//等价于 like 'a%'//where employee.FirstName.EndsWith("a")//等价于 like '%a'selectemployee;
g.查询指定的列
vare7 =(fromemployeeindc.Employees//select new { employee.EmployeeID, employee.FirstName };selectnew{
员工编号=employee.EmployeeID,
员工姓名=employee.FirstName,
尊称=employee.TitleOfCourtesy
});
h.子查询
vare8 =fromemployeeindc.Employeeswhereemployee.Orders.Count >100selectemployee;
i.内连接
/**
* 查询位于伦敦的客户的订单
* SELECT *
* FROM [dbo].[Orders]
* INNER JOIN [dbo].[Customers] ON [Customers].[CustomerID] = [Orders].[CustomerID]
* WHERE [Customers].[City] = 'London'*/vare9 =fromcusindc.Customers
join ordindc.Orders on cus.CustomerID equals ord.CustomerIDwherecus.City =="London"selectord;
j.增加
Employees m =newEmployees();
m.LastName="闪硕";
m.FirstName="燕";
m.Title="闪硕标题";
dc.Employees.InsertOnSubmit(m);
dc.SubmitChanges();
k.修改
vare10 = dc.Employees.FirstOrDefault(employee => employee.LastName =="闪硕");
e10.City="石家庄";
dc.SubmitChanges();
l.删除
vare10 = dc.Employees.FirstOrDefault(employee => employee.LastName =="闪硕");
dc.Employees.DeleteOnSubmit(e10);
dc.SubmitChanges();
练习代码使用Vs2012,微软northwnd示例数据库
代码下载:http://pan.baidu.com/s/1pJyh0Mn