说我已禁用proxy class
和Lazyloading
。和我有两个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
方法?