0

在阅读实体框架中的外键后,我尝试将外键关系添加到 EF 5 Code First 应用程序(该应用程序迄今为止使用独立关联)。

我注意到生成的 DDL 包含级联删除。这与独立协会的行为相反。

鉴于通过添加根据约定ClassnameId命名的int属性在 EF Code First 中创建外键关系,是否可以进行非级联删除?如果是这样,将向ClassnameId分配什么值以解除相关对象的关联而不将其从数据库中删除?

4

1 回答 1

1

如果您明确声明一个不可为空的外键,EF 将假定您需要级联删除。

您可以使外键可以为空:

public int? YourFkId {get;set;}

或者你可以在你的OnModelCreating

     modelBuilder.Entity<Class1>()
        .HasMany( c => c.Class2s )
        .WithRequired(x => x.Class1 )
        .WillCascadeOnDelete(false);
于 2012-09-01T09:49:18.293 回答