我有三個表: -刪除許多一對多導航屬性
SecurityRole &組& SecurityRoleGroups。 (securityrole可以有多個組,並且一個組可以有很多securityroles)
其中SecurityRoleGroup表是一個多對多的關係表,Entity框架不會映射這個表。所以我想刪除屬於某個SecurityRole的所有SecurityRoleGroup記錄。如果我寫東西如
SecurityRole securityrole = FindAllRole(id);
tms.SecurityRoles.Remove(securityrole).Groups.Where(a=> a.GroupID == group.GroupID)
它只會從SecurityRoleGroup中刪除所需的記錄,否則它也會刪除相關的SecurityRole記錄?
::: UPDATE :::
但是,如果我想刪除許多一對多戰績僅爲櫃面它是currentGroups [C]數組裏面是什麼。我可以寫的東西如下: -
if (group.GroupID == currentGroups[c])
{
var securityrole = tms.SecurityRoles.Where(a => a.SecurityRoleID == id).Include(p => p.Groups).SingleOrDefault();
(securityrole != null) {
securityrole.Groups.Remove(group);
}
}
我不明白你的代碼。 'Remove'返回一個'bool'。如果從多對多集合中刪除它們,相關實體不會被刪除。 –
我知道,我想刪除M-to-M記錄。 –