EF Code first主从表,删除更新从表
以order和orderItem为例,从表orderItem里有主表的orderId
想通过order.orderitems.add()或者remove()方法直接更新从表的话,必须在从表建立联合主键才可以
在DbContext里的OnModelCreating方法里加上
modelBuilder.Entity<OrderItem>().HasKey(t => new { t.Id, t.OrderId }); modelBuilder.Entity<OrderItem>().Property(s => s.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
这样在执行迁移命令,就会生成联合主键,删除或者添加从表信息就可以通过order.orderitems.add()或者remove()进行直接操作了