使用Hibernate保存对象时收到以下错误
object references an unsaved transient instance - save the transient instance before flushing
Run Code Online (Sandbox Code Playgroud) 我正在学习流利的Nhibernate,我的问题是:
什么Inverse意思?我读到这意味着关系的另一方负责储蓄,同样如此Cascade,
有人可以解释一下它们之间有什么区别吗?请详细解释,因为我是NH的新手.
我有一个这样的测试数据库设计:

以下是伪代码:
//BhillHeader
public class BillHeader
{
public BillHeader()
{
BillDetails = new List<BillDetail>();
}
public virtual int BillNo { get; set; }
public virtual IList<BillDetail> BillDetails { get; set; }
public virtual decimal Amount { get; set; }
public virtual void AddDetail(BillDetail billdet)
{
BillDetails.Add(billdet);
}
}
//BillHeader Map
public class BillHeaderMap : ClassMap<BillHeader>
{
public BillHeaderMap()
{
Table("BillHeader");
LazyLoad();
Id(x => x.BillNo).GeneratedBy.Identity().Column("BillNo");
Map(x => x.Amount).Column("Amount").Not.Nullable();
HasMany(x => x.BillDetails).KeyColumn("BillNo").Cascade.All().Inverse();
}
}
//BillDetail
public class BillDetail
{
public BillDetail() { …Run Code Online (Sandbox Code Playgroud)