浅析linq级联操作

开发 后端
本文讲解了linq级联操作,从添加,删除linq级联等方面都做了介绍。现在我开始做一个linq级联操作,给大家参考。

本文讲解了linq级联操作,从添加,删除linq级联等方面都做了介绍。

现在我开始做一个linq级联操作,给大家参考:

1.我首先新建了两张表一个是category,一个是product.

category表
category表

product表
product表

2.然后添加linq级联:

  1. ALTER TABLE product ADD  CONSTRAINT [FK_ product  _Key]  FOREIGN KEY     
  2.   (     
  3.   catid  
  4.   )REFERENCES  Category  
  5.   (     
  6.  catid  
  7.   )     
  8.   GO  

3.代码:添加的linq级联代码是:

  1. Category_Product_ContextDataContext cpcontext =  
  2.             new Category_Product_ContextDataContext
  3. (System.Configuration.ConfigurationManager.ConnectionStrings
  4. ["TestConnectionString"].ToString());  
  5.          // 级联添加  
  6.        Category cat=new Category()  
  7.        ...{  
  8.            Catid =1005,  
  9.            CatName = "设计",  
  10.            CatDescription = "好多设计 " 
  11.              };  
  12.        Product p1 = new Product()  
  13.        ...{  
  14.            ProductName = "平面设计",  
  15.            ProductDescripton = "设计大",  
  16.            Category=cat  
  17.        };  
  18.        Product p2 = new Product()  
  19.        ...{  
  20.            ProductName = "立体设计",  
  21.            ProductDescripton = "新电脑",  
  22.            Category = cat  
  23.        };  
  24.        Product p3 = new Product()  
  25.        ...{  
  26.            ProductName = " 室内设计",  
  27.            ProductDescripton = " 室内设计林",  
  28.            Category = cat  
  29.        };  
  30.        Product p4 = new Product()  
  31.        ...{  
  32.            ProductName = "产品设计",  
  33.            ProductDescripton = "林",  
  34.            Category = cat  
  35.        };  
  36.        Product p5 = new Product()  
  37.        ...{  
  38.            ProductName = "建筑设计",  
  39.            ProductDescripton = "在",  
  40.            Category = cat  
  41.        };  
  42.        cpcontext.Categories.InsertOnSubmit(cat);  
  43.                cpcontext.SubmitChanges();  
  44.  

删除的linq级联代码:

删除的原则是:先删除从表的再删除主表的

  1. Category_Product_ContextDataContext cpcontext =  
  2.             new Category_Product_ContextDataContext
  3. (System.Configuration.ConfigurationManager.ConnectionStrings
  4. ["TestConnectionString"].ToString());  
  5.         Category singlecats = cpcontext.Categories.Single
  6. (p => p.Catid == 1004);  
  7.   foreach (Product p in cpcontext.Products.Where(p => p.CatId == 1004))
  8. //删除从表  
  9.         ...{  
  10.             cpcontext.Products.DeleteOnSubmit(p);  
  11.         }  
  12.         cpcontext.Categories.DeleteOnSubmit(singlecats);//删除主表  
  13.         cpcontext.SubmitChanges(); 

以上就是对linq级联操作的简单介绍。

【编辑推荐】

  1. LINQ动态查询的实现浅析
  2. LINQ TO SQL动态修改表名称的实现浅析
  3. LINQ To SQL的一点讨论
  4. 浅析LINQ事务处理的实现
  5. 浅析DataSet和DataTable
责任编辑:阡陌 来源: CSDN
相关推荐

2009-09-10 14:47:53

Linq .NET查询

2009-09-15 17:16:58

LINQ查询操作符

2009-09-15 14:30:11

Linq连接

2009-09-15 14:52:15

linq级联删除

2009-09-17 13:30:32

LINQ to XML

2009-09-16 15:33:22

LINQ to XML

2009-09-07 16:44:28

Linq String

2009-09-10 18:02:23

LINQ to SQL

2009-09-14 16:46:15

LINQ to XML

2009-09-16 17:11:35

LINQ To SQL

2009-09-15 09:19:22

linq动态条件

2009-09-14 09:46:00

LINQ to SQL

2009-09-15 10:12:37

LINQ To SQL

2009-09-14 18:23:59

LINQ嵌套查询

2009-09-17 18:05:15

linq to sql

2009-09-14 13:37:25

LINQ ADO.NE

2009-09-17 10:57:06

Linq随机读取数据

2009-09-17 17:34:23

linq to sql

2009-09-09 17:45:07

Linq表达式

2009-09-14 19:14:51

LINQ动态查询
点赞
收藏

51CTO技术栈公众号