linq to sql簡單使用


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

            var e2 =
                from employee in dc.Employees
                where employee.City == "London"
                select employee;

 

c.查詢EmployeeID<5的數據

            var e3 =
                from employee in dc.Employees
                where employee.EmployeeID < 5
                select employee;

 

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

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

 

e.多個查詢條件

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

 

f.like語句

           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;

 

g.查詢指定的列

           var e7 =
                (from employee in dc.Employees
                 //select new { employee.EmployeeID, employee.FirstName };
                 select new
                 {
                     員工編號 = employee.EmployeeID,
                     員工姓名 = employee.FirstName,
                     尊稱 = employee.TitleOfCourtesy
                 });

 

h.子查詢

            var e8 =
                from employee in dc.Employees
                where employee.Orders.Count > 100
                select employee;

 

i.內連接

            /**
             * 查詢位於倫敦的客戶的訂單
             * 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;

 

j.增加

            Employees m = new Employees();
            m.LastName = "閃碩";
            m.FirstName = "";
            m.Title = "閃碩標題";
            dc.Employees.InsertOnSubmit(m);
            dc.SubmitChanges();

 

k.修改

            var e10 = dc.Employees.FirstOrDefault(employee => employee.LastName == "閃碩");
            e10.City = "石家庄";
            dc.SubmitChanges();

 

l.刪除

            var e10 = dc.Employees.FirstOrDefault(employee => employee.LastName == "閃碩");
            dc.Employees.DeleteOnSubmit(e10);
            dc.SubmitChanges();

 

練習代碼使用Vs2012,微軟northwnd示例數據庫

代碼下載:http://pan.baidu.com/s/1pJyh0Mn  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM