在阅读了实体框架中的外键之后,我尝试在EF5CodeFirst应用程序中添加一个外键关系(该应用程序迄今使用独立关联)。
我注意到生成的DDL包括一个级联删除。这与独立协会的行为正好相反。
假设在EF代码中首先通过添加根据约定ClassnameId命名的int属性来创建外键关系,那么是否可以进行非级联删除?如果是这样的话,那么在不从数据库中删除相关对象的情况下,将为ClassnameId分配什么值来解除其关联?
发布于 2012-09-01 09:49:18
如果显式声明一个不可空的外键,则EF将假定您需要级联删除。
您可以使外键为空:
public int? YourFkId {get;set;}也可以在OnModelCreating中使用流利的符号。
modelBuilder.Entity<Class1>()
.HasMany( c => c.Class2s )
.WithRequired(x => x.Class1 )
.WillCascadeOnDelete(false);https://stackoverflow.com/questions/12223894
复制相似问题