美好的一天。我不能在同一个查询中保存带有子项的父项。但是孩子对父母有空参考... 我的数据库中的父表是“food_in_the_cart”表,它的模型在这里:
public class FoodInTheCartModel
{
public virtual int ID { get; set; }
public virtual ClientModel Client { get; set; }
public virtual EstablishmentModel Stocked { get; set; }
public virtual ProductModel DesirableProduct { get; set; }
public virtual IList<CartAdditiveModel> Additives { get; set; } //children
public virtual void AddAdditivesToTheCart(CartAdditiveModel a)
{
a.Cart = this;
Additives.Add(a);
}
public FoodInTheCartModel()
{
this.Additives = new List<CartAdditiveModel>();
}
}
映射:
public FoodInTheCartMap()
{
Table("food_in_the_cart");
Id(x => x.ID)
.Column("id")
.GeneratedBy.Native("food_in_the_cart_id_seq");
References(x => x.Client)
.Column("fk_id_client")
.Not.Nullable()
.Not.LazyLoad();
References(x => x.DesirableProduct)
.Column("fk_id_product")
.Not.Nullable()
.Not.LazyLoad();
References(x => x.Stocked)
.Column("fk_id_stock")
.Not.Nullable()
.Not.LazyLoad();
HasMany(x => x.Additives)
.Table("cart_additive")
.Cascade.SaveUpdate()
.Cascade.All()
.Inverse()
.Not.LazyLoad();
}
孩子 cart_additive 。 cart_additive 的模型是 CartAdditive 的类型,并且对 food_in_the_cart 的模型有参考,同时映射此引用是:
References(x => x.Cart)
.Column("fk_id_cart")
.Not.LazyLoad();
这两个表之间的类型关系是一对多: food_in_the_cart 有很多 cart_additive 。似乎我尝试了一切为了保存带子女的父母的查询...但是孩子的父母仍然有空值。如何在子项中使父引用不为空?
答案 0 :(得分:0)
我从 FoodInTheCartMap 中删除了很多插入(),并在那里添加了 AsBug(),也允许fk为<的值为空值< cart_additives 中的strong> food_in_the_cart 以及此表格模型中名为Cart的参考。一切都是这样的。耶。