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>();
}