使用Entity Framework 4.0时需要删除多个实体对象

时间:2014-06-14 06:55:25

标签: entity-framework

我是Entity Framework的新手。我想在一个数据库上下文中删除多个实体。如果我使用DBContext.Remove(Object),那么它只从数据库中删除一个实体。请考虑我的代码:

            CCSRequest objCCSRequest = DBContext.CCSRequest.Find(ccsRequestId);
            if (objCCSRequest != null)
            {
                DBContext.CCSRequest.Remove(objCCSRequest);
                DBContext.SaveChanges();
            }
            CCProducts objCCProducts = DBContext.CCProducts.Find(ccsRequestId);
            if (objCCProducts != null)
            {                    
                DBContext.CCProducts.Remove(objCCProducts);
                DBContext.SaveChanges();
            }

我想在CCSRequest和CCProducts表中删除实体。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

在回答类似问题时,您需要循环执行此操作。请检查这个问题的答案:

how to delete multiple rows of data with linq to EF using DbContext

答案 1 :(得分:0)

如果你想要一个可以删除不同类型实体的循环,你可以使用它:

object[] entities = new object[]{
    DBContext.CCSRequest.Find(ccsRequestId),
    DBContext.CCProducts.Find(ccsRequestId)
};
foreach(object entity in entities)
{
    DBContext.Entry(entity).State = EntityState.Deleted;
}