linq to sql简单使用

时间:2014-04-07 11:32:01   收藏:0   阅读:463

1.新建一个winform项目。

2.添加一个Linq to Sql 类,命名为Northwind

bubuko.com,布布扣

3.打开服务器资源管理器,将表拖动到linq to sql 类,实体类就由Vs生成了

bubuko.com,布布扣

4.实例化DataContext类

1
NorthwindDataContext dc = new NorthwindDataContext();

5.下面就可以使用Linq to Sql啦。

a.查询Employees所有数据

var ee =
from employee in dc.Employees
select employee;

b.加个Where条件,查询Employee表所有City=London

bubuko.com,布布扣
            var e2 =
                from employee in dc.Employees
                where employee.City == "London"
                select employee;
bubuko.com,布布扣

 

c.查询EmployeeID<5的数据

bubuko.com,布布扣
            var e3 =
                from employee in dc.Employees
                where employee.EmployeeID < 5
                select employee;
bubuko.com,布布扣

 

d.查询雇佣日期在1993年1月1日以前的人员。

bubuko.com,布布扣
            var e4 =
                from employee in dc.Employees
                where employee.HireDate < new DateTime(1993, 1, 1)
                select employee;
bubuko.com,布布扣

 

e.多个查询条件

bubuko.com,布布扣
            var e5 =
                from employee in dc.Employees
                where employee.HireDate < new DateTime(1993, 1, 1)
                where employee.EmployeeID < 3
                select employee;
bubuko.com,布布扣

 

f.like语句

bubuko.com,布布扣
           var e6 =
                from employee in dc.Employees
                where SqlMethods.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‘
                select employee;
bubuko.com,布布扣

 

g.查询指定的列

bubuko.com,布布扣
           var e7 =
                (from employee in dc.Employees
                 //select new { employee.EmployeeID, employee.FirstName };
                 select new
                 {
                     员工编号 = employee.EmployeeID,
                     员工姓名 = employee.FirstName,
                     尊称 = employee.TitleOfCourtesy
                 });
bubuko.com,布布扣

 

h.子查询

bubuko.com,布布扣
            var e8 =
                from employee in dc.Employees
                where employee.Orders.Count > 100
                select employee;
bubuko.com,布布扣

 

i.内连接

bubuko.com,布布扣
            /**
             * 查询位于伦敦的客户的订单
             * SELECT *
             * FROM [dbo].[Orders]
             * INNER JOIN [dbo].[Customers] ON [Customers].[CustomerID] = [Orders].[CustomerID]
             * WHERE [Customers].[City] = ‘London‘
             */
            var e9 =
                from cus in dc.Customers
                join ord in dc.Orders on cus.CustomerID equals ord.CustomerID
                where cus.City == "London"
                select ord;
bubuko.com,布布扣

 

j.增加

bubuko.com,布布扣
            Employees m = new Employees();
            m.LastName = "闪硕";
            m.FirstName = "";
            m.Title = "闪硕标题";
            dc.Employees.InsertOnSubmit(m);
            dc.SubmitChanges();
bubuko.com,布布扣

 

k.修改

bubuko.com,布布扣
            var e10 = dc.Employees.FirstOrDefault(employee => employee.LastName == "闪硕");
            e10.City = "石家庄";
            dc.SubmitChanges();
bubuko.com,布布扣

 

l.删除

bubuko.com,布布扣
            var e10 = dc.Employees.FirstOrDefault(employee => employee.LastName == "闪硕");
            dc.Employees.DeleteOnSubmit(e10);
            dc.SubmitChanges();
bubuko.com,布布扣

 

练习代码使用Vs2012,微软northwnd示例数据库

代码下载:http://pan.baidu.com/s/1pJyh0Mn  

linq to sql简单使用,布布扣,bubuko.com

原文:http://www.cnblogs.com/yanshanshuo/p/3647920.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!