如何使用实体框架删除项目

时间:2015-10-26 04:59:49

标签: entity-framework

说我已禁用proxy classLazyloading。和我有两个many to many关系的对象。在删除记录时,我有代码:

public void DeleteUser(List<int> ids)
{
    using (var dbContext = new AccountDbContext())
    {
        dbContext.Users.Include("Roles").Where(u => ids.Contains(u.ID)).ToList().ForEach(a => { 
            //a.Roles.Clear(); 
            //dbContext.Users.Remove(a); 
            dbContext.Delete(a);
        });
        dbContext.SaveChanges();
    }
}

看起来dbContext.Delete(user)将删除与Roles相关的user [在数据库中删除多对多记录]。我认为cascade delete已启用。那么我可以说user.Roles.Clear();在这里完全没必要吗?我应该何时实施Clear方法?

0 个答案:

没有答案