浅析linq级联操作
创始人
2024-06-07 02:21:25
0

本文讲解了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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...