删除实体及其所有集合数据的正确方法是啥?

Posted

技术标签:

【中文标题】删除实体及其所有集合数据的正确方法是啥?【英文标题】:What is the correct way to remove an entity and all of its collection data?删除实体及其所有集合数据的正确方法是什么? 【发布时间】:2021-12-22 16:11:54 【问题描述】:

在 Eyeshot 中,从 Model(即 BlockReference)中删除 Entity 的最佳方法是什么? 是否有方法可以帮助清理基于BlockReference 的所有Blocks

// assume "model1" is the Eyeshot control 

List<Entity> entities = GetEntitiesToRemove();
foreach (var entity in entities)

   if (entity is BlockReference reference)
   
       // What to do here to clean up the associated blocks?  This code will only find the
       // parent block for the entity
       var block = model1.Blocks.FirstOrDefault(b => b.Name == reference.BlockName);
       if (block != null)
       
           model1.Blocks.Remove(block);  //This is only removing the parent block 
       
   
   model1.Entities.Remove(entity);

【问题讨论】:

【参考方案1】:

Model.Purge() 方法:从Environment 主集合(层、块、材质等)中删除未使用的项目

【讨论】:

以上是关于删除实体及其所有集合数据的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

删除嵌套集合中的条目

使用 JPQL 从实体的元素集合中删除

为每个表/集合具有相同表/集合的多个实例的网站设计数据库的正确方法是啥?

在 RESTful API 中创建和验证实体模型及其 DTO 的正确方法是啥?

为包含多个集合作为子节点的 TreeView 节点构建数据模板的正确方法是啥?

EF6基础系列(12)--- EF进行批量添加/删除