繁体   English   中英

如何从EF 4中的相关表中删除行?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM