c#Entity Framework 6关于删除级联一对多

时间:2018-05-01 09:31:13

标签: c# entity-framework-6

我有一个问题。如何删除一个字段和所有其他一对多关系?

Field has
 - List<Years>
Years has
- List<Crop>
Crop has
- List<Pesticide>
- List<Fertilizer>

如果我使用

db.Fields.Remove(field);

它只会删除字段而不是所有相关记录

如果移除一个字段,或者如果我删除一年所有作物将被删除,如何删除所有年份

更新

我试过了:

 modelBuilder.Entity<Entity.Field>()
             .HasOptional(c => c.Years)
             .WithMany(); 

 Query IQueryable<Entity.Field> query = ctx.Set<Entity.Field>() 
         .Include(c => c.Years); 

 var list = query.ToList();

但是我收到了这个错误:

  

错误:MetadataException:声明的导航属性类型FieldManager.Context.Field.Years与指定导航的结果不兼容

0 个答案:

没有答案