LINQ : 如何在LINQ to SQL中删除数据库中的行

本文介绍如何通过LINQtoSQL删除数据库中的行,并讨论了级联删除的问题及解决方案。当遇到约束表中的删除操作时,需手动删除子对象或在数据库中设置级联删除规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://msdn.microsoft.com/zh-cn/library/bb386925.aspx

可以通过将对应的 LINQ to SQL 对象从其与表相关的集合中删除来删除数据库中的行。LINQ to SQL 会将更改转换为相应的 SQL DELETE 命令。

LINQ to SQL 不支持且无法识别级联删除操作。如果要在对行有约束的表中删除行,则必须完成以下任务之一:

  • 在数据库的外键约束中设置 ON DELETE CASCADE 规则。

  • 使用自己的代码首先删除阻止删除父对象的子对象。

 

否则会引发异常。请参见本主题中后面的第二个代码示例。

说明:

您可以重写 Insert、Update 和 Delete 数据库操作的 LINQ to SQL 默认方法。有关更多信息,请参见自定义插入、更新和删除操作 (LINQ to SQL)

使用 Visual Studio 的开发人员可以使用 对象关系设计器 来开发用于实现相同目的的存储过程。有关更多信息,请参见对象关系设计器(O/R 设计器).

本文由作者: 陈希章 于 2009/7/22 23:04:47 发布在: http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点: 陈希章的博客中心
本文是使用 博客同步和管理系统自动于2009/7/22 23:04:51 从 陈希章@博客园 同步过来的。原文地址: http://www.cnblogs.com/chenxizhang/archive/2009/07/22/1528938.html ,发表于2009/7/22 15:05:00.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值