使用EF 6.0.1
我有两个实体;购物车和购物者(简化为插图)定义为:
public class Cart
{
public int Id { get; set; } // PK
public int ShopperId { get; set; }
// Navigation Property
public virtual Shopper Shopper { get; set; }
}
public class Shopper
{
public int Id { get; set; } // PK
public int CartId { get; set; }
// Navigation Property
public virtual Cart Cart { get; set; }
}
以及以下映射
CartMap:
this.HasKey(t => t.Id);
this.HasRequired(t => t.Shopper).WithRequiredPrincipal(t => t.Cart);
和ShopperMap
this.HasKey(t => t.Id);
this.HasRequired(t => t.Cart).WithRequiredDependent(t => t.Shopper);
种子代码
var cart = new Cart{ Shopper = new Shopper()};
context.Carts.Add(cart);
context.SaveChanges();
当我尝试通过构建新购物车和新购物者来播种数据库时,新购物车和购物者会被保留,但购物车数据不会使用新购物者PK值更新,并且购物者不会更新新的购物车ID PK值。
我错过了什么?