Entity framework 如果删除时存在相关数据,如何引发异常

Entity framework 如果删除时存在相关数据,如何引发异常,entity-framework,Entity Framework,我有一个目标: public class Profile { public int Id {get;set;} public List<User> Users {get;set;} } 但这会自动删除所有相关的用户(我不理解为什么,因为我没有为此设置任何特殊配置) 我怎样才能避免这种情况? 当我尝试保存更改时,如何获得异常 我希望避免检查用户。直接在我的代码中计算。您可以使用扩展方法 .WillCascadeOnDelete(false); 对于特定的关系 或

我有一个目标:

public class Profile
{
     public int Id {get;set;}
     public List<User> Users {get;set;}
}
但这会自动删除所有相关的用户(我不理解为什么,因为我没有为此设置任何特殊配置)

我怎样才能避免这种情况? 当我尝试保存更改时,如何获得异常


我希望避免检查
用户。直接在我的代码中计算

您可以使用扩展方法

.WillCascadeOnDelete(false);
对于特定的关系

或者使用
OneToManyCascadeDelete约定禁用所有删除级联

protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)

    {
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
   }
模型创建时受保护的覆盖无效(System.Data.Entity.ModelConfiguration.ModelBuilder ModelBuilder)
{
modelBuilder.Conventions.Remove();
}

将向您显示更多详细信息(EF 4 CTP5,但应该很有价值)

首先是数据库吗?先编码?对不起,ef的哪个版本?它是5.0版。好吧,看看这个:它是4.1 CTP5版的,但我认为它应该很有价值。@RaphaëlAlthaus Great:)你能回答这个问题吗?所以我可以核对一下答案
protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)

    {
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
   }