0

我正在创建 .net MVC4 应用程序。我有两个名为 group 和 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();

我的问题是在删除组时,组的成员没有被删除。任何人都可以给我一个解决方案

4

1 回答 1

-1

WillCascadeOnDelete() 告诉 EF 数据库将执行删除。EF 不执行级联,因此您需要更改表以添加删除。

您可以在 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
于 2012-10-19T05:23:04.123 回答