即时通讯使用流利的nhibernate,我无法保存一个实体。
所以,我有Books表,Book_Types表和它们之间的连接表 - TypeInBook表,因为书可以有很多书,所以它有多对多的连接。
所以在我的书模型中,我有一些书籍类型:
public virtual IList<BookType> BookTypes {get; set; }
这是我如何映射它:
HasManyToMany(x => x.BookTypes).Table("TYPES_IN_BOOKS").ParentKeyColumn("BOOK_TYPE_ID").ChildKeyColumn("BOOK_ID").Inverse();
现在,如果我正在删除反转,它会尝试(为了我的理解)首先添加子项,但它不能因为父项尚未添加,因此无法制定约束(对于不存在的事物) 。 当我添加逆时,它会插入父级而不是子级。