我正在创建.net MVC4应用程序。我有两个名为group and groupmembers的权利。小组与小组成员有一对多的关系。 这是我的课程
public class Group
{
public int GroupId{get;set;}
public virtual ICollection<GroupMember> Members { get; set; }
}
public class GroupMember
{
public int GroupMemberId { get; set; }
public int GroupId { get; set; }
public virtual Group Group { get; set; }
}
在模型方面我正在使用代码
modelBuilder.Entity<GroupMember>()
.HasRequired(e => e.Group)
.WithMany()
.HasForeignKey(e => e.GroupId)
.WillCascadeOnDelete();
我的问题是在删除群组时群组成员没有被删除。任何人都可以给我一个解决方案
答案 0 :(得分:-1)
WillCascadeOnDelete()告诉EF数据库将执行删除。 EF不执行级联,因此您需要更改表以添加删除。
您可以通过打开选择Delete for Cascade Action的关系在SSMS设计器中执行此操作,或者您可以在T-SQL中执行此操作:
ALTER TABLE dbo.GroupMember DROP CONSTRAINT fkName
GO
ALTER TABLE dbo.GroupMember ADD CONSTRAINT
fkName FOREIGN KEY (GroupId)
REFERENCES dbo.Group (Id) ON DELETE CASCADE