![](/img/trans.png)
[英]How can I delete rows from tables using EF when inside an Asp.Net method?
[英]How can I delete rows from related tables in EF 4?
因此,这是我正在使用的3个表:
我想从特定ClaimCodingID删除ClaimCodingProcedureCodeModifierXref表中的所有内容以及ProcedureCodeModifier中的所有相关行。 到目前为止,这是我的代码:
using (HCCustDataEntities hc = new HCCustDataEntities())
{
var result = (from CPC in hc.ClaimCodingProcedureCodeModifierXrefs
where CPC.ClaimCodingID == claimCodingID
select CPC);
foreach (var item in result)
{
hc.DeleteObject(item);
}
}
但是只有外部参照表中的数据会被删除。 为什么EF也不会删除相关行?
在关系船中使用CASCADE DELETE
。 删除主记录时,实体框架将自动删除明细/子对象。 您不需要自己在关系中显式删除子记录。
因为您只删除了CCPCMX行。
这未经测试,但应该类似于:
using (HCCustDataEntities hc = new HCCustDataEntities())
{
var result = (from CPC in hc.ClaimCodingProcedureCodeModifierXrefs
where CPC.ClaimCodingID == claimCodingID
select CPC);
foreach (var item in result)
{
hc.DeleteObject(item);
var result2 = from pcm in hc.ProcedureCodeModifier
where pcm.ProcedureCodeModifierID == item.ProcedureCodeModifierID
select pcm;
foreach (var row in result2)
hc.DeleteObject(row);
var result3 = from cc in hc.ClaimCoding
where cc.ClaimCodingID == item.ClaimCodingID
select cc;
foreach (var row in result3)
hc.DeleteObject(row);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.