ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用

上传人:E**** 文档编号:89192941 上传时间:2019-05-21 格式:PPT 页数:51 大小:990KB
返回 下载 相关 举报
ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用_第1页
第1页 / 共51页
ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用_第2页
第2页 / 共51页
ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用_第3页
第3页 / 共51页
ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用_第4页
第4页 / 共51页
ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用》由会员分享,可在线阅读,更多相关《ASP.NET3.5网站开发项目实战 教学课件 ppt 作者 龚赤兵 任务4 LINQ to SQL应用(51页珍藏版)》请在金锄头文库上搜索。

1、02:36:24,1,任务4 LINQ to SQL应用,实训1LINQ to SQL的基本应用 实训2延迟加载 实训3数据修改 实训4存储过程,02:36:24,2,实训1LINQ to SQL的基本应用,创建实体类 数据上下文DataContext 定义数据表之间的关联 基于关联的查询,02:36:25,3,创建实体类,02:36:25,4,创建实体类,1: Table(Name = “Customers“) 2: public class Customer 3: 4: Column(IsPrimaryKey = true) 5: public string CustomerID; 6:

2、7: Column 8: public string City; 9: ,02:36:25,5,数据上下文DataContext,1: static void Main(string args) 2: 3: DataContext db = new DataContext(“Data Source=.sqlexpress; Initial Catalog=Northwind;Integrated Security=True“); 4: 5: Table Customers = db.GetTable(); 6: 7: var q = from c in Customers where c.Ci

3、ty = “London“ select c; 8: 9: foreach (var cust in q) 10: Console.WriteLine(“id = 0, City = 1“, cust.CustomerID, cust.City); 11: ,02:36:25,6,数据上下文DataContext,1: public partial class Northwind : DataContext 2: 3: public Table Customers; 4: 5: public Northwind(string connection): base(connection) 6: ,

4、02:36:25,7,数据上下文DataContext,1: static void Main(string args) 2: 3: Northwind db = new Northwind(“Data Source=.sqlexpress; Initial Catalog=Northwind;Integrated Security=True“); 4: 5: var Customers = db.Customers ; 6: 7: var q = from c in Customers where c.City = “London“ select c; 8: 9: foreach (var

5、cust in q) 10: Console.WriteLine(“id = 0, City = 1“, cust.CustomerID, cust.City); 11: ,02:36:25,8,定义数据表之间的关联,1: Table(Name=“Customers“) 2: public class Customer 3: 4: Column(IsPrimaryKey = true) 5: public string CustomerID; 6: 7: Column 8: public string City; 9: 10: private EntitySet _Orders; 11: 12

6、: Association(Storage=“_Orders“, OtherKey=“CustomerID“) 13: public EntitySet Orders 14: 15: get return this._Orders; 16: set this._Orders.Assign(value); 17: 18: 19:,02:36:25,9,定义数据表之间的关联,20: Table(Name = “Orders“) 21: public class Order 22: 23: Column(IsPrimaryKey = true) 24: public int OrderID; 25:

7、 26: Column 27: public string CustomerID; 28: 29: private EntityRef _Customer; 30: 31: Association(Storage = “_Customer“, ThisKey = “CustomerID“) 32: public Customer Customer 33: 34: get return this._Customer.Entity; 35: set this._Customer.Entity = value; 36: 37: ,02:36:25,10,基于关联的查询,1: static void

8、Main(string args) 2: 3: Northwind db = new Northwind(“Data Source=.sqlexpress; Initial Catalog=Northwind;Integrated Security=True“); 4: 5: var Customers = db.Customers ; 6: 7: var q = from c in Customers from o in c.Orders where c.City = “London“ select new c, o ; 8: 9: foreach (var cust in q) 10: C

9、onsole.WriteLine(“id = 0, City = 1“, cust.c .CustomerID, cust.c.City); 11: ,02:36:25,11,实训2延迟加载,在LINQ to SQL框架中,对于数据库中数据的加载,也有二种方式延迟加载和立即加载。,02:36:25,12,实训2延迟加载,1: static void Deferred() 2: 3: Northwind db = new Northwind(“Data Source=.sqlexpress; Initial Catalog=Northwind;Integrated Security=True“)

10、; 4: 5: var q = from c in db.Customers where c.City = “London“ select c ; 6: 7: foreach (Customer c in q) 8: Console.WriteLine(c.CustomerID ); 9: 10: foreach (Customer c in q) 11: Console.WriteLine(c.CustomerID ); 12: 13: var list = q.ToList(); 14: 15: foreach (Customer c in list) 16: Console.WriteL

11、ine(c.CustomerID ); 17: 18: foreach (Customer c in list) 19: Console.WriteLine(c.CustomerID ); 20: ,02:36:25,13,实训3数据修改,数据级联删除 并发冲突 并发冲突处理,02:36:25,14,数据级联删除,02:36:25,15,数据级联删除,1: static void Delete() 2: 3: NorthWindDataContext db = new NorthWindDataContext(); 4: 5: int reqOrder = 10250; 6: 7: var o

12、rdDetailQuery = from odq in db.Order_Details where odq.OrderID = reqOrder select odq; 8: 9: foreach (var selectedDetail in ordDetailQuery) 10: 11: Console.WriteLine(selectedDetail.Product.ProductID); 12: db.Order_Details.DeleteOnSubmit(selectedDetail); 13: 14:,02:36:25,16,数据级联删除,15: Console.WriteLin

13、e(“detail section finished.“); 16: Console.ReadLine(); 17: 18: if (ordDetailQuery.Any() 19: 20: Console.WriteLine(“The parent is presesnt in the Orders collection.“); 21: try 22: 23: var ordFetch = (from ofetch in db.Orders where ofetch.OrderID = reqOrder select ofetch).First(); 24: 25: db.Orders.De

14、leteOnSubmit(ordFetch); 26: Console.WriteLine(“0 OrderID is marked for deletion.“, ordFetch.OrderID); 27: 28: catch (Exception e) 29: 30: Console.WriteLine(e.Message); 31: Console.ReadLine(); 32: 33: ,02:36:25,17,并发冲突,1: static void Upadte() 2: 3: NorthWindDataContext db = new NorthWindDataContext()

15、; 4: 5: var ord =from o in db.Order_Details where o.OrderID=10250 11: ,02:36:25,18,并发冲突检测,02:36:25,19,并发冲突检测,UpdateCheck的属性列表,02:36:25,20,并发冲突检测,1: Column(Storage=“_UnitPrice“, DbType=“Money NOT NULL“, UpdateCheck=UpdateCheck.Never) 2: public decimal UnitPrice 3: 4: get 5: 6: return this._UnitPrice; 7: ,02:36:25,21,并发冲突检测,8: set 9: 10: if (this._UnitPrice != value) 11: 12: this.OnUnitPriceChanging(value); 13: this.SendPropertyChanging(); 14: this._UnitPrice

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号