Sha*_*ean 2 ef-code-first entity-framework-4.1
如何在多对多场景中删除所有子对象?例如,我想删除所有roles属于a user.
我先使用EF代码.
你真的想删除属于用户的角色吗?这意味着将删除角色记录,这很可能会导致异常,因为在多对多方案角色中,其他用户将使用该角色.
如果你正确地设置了一切,这应该只是删除用户和他的角色之间的关系:
var user = context.Users.Include("Roles").Single(u => u.Id == id);
user.Roles.Clear();
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
首先,您必须选择所有角色,然后从用户实例角色集合中删除.保存
var usersRoles = user.Roles.ToList();
usersRoles.ForEach(role => user.Roles.Remove(role));
context.SaveChanges();
// Add new roles to the user
Run Code Online (Sandbox Code Playgroud)
PS.代码可能不准确,但这是您应该使用的逻辑来实现这一点.
| 归档时间: |
|
| 查看次数: |
5005 次 |
| 最近记录: |