I have a parent and child table and entites are created and mapped using one to many relation ship. On one to many side when i use Inverse() then the child table's foreign key value is inserted as null.
public class TableA { public virtual long ID { get; set; } public virtual string Name { get; set; } public virtual IList<TableB> TableB { get; set; } } public class TableB { public virtual long ID { get; set; } public virtual string Name { get; set; } public virtual TableA TableA { get; set; } } public class TableAMap : ClassMap<TableA> { public TableAMap() { Id(x=>x.ID); Map(x=>x.Name).Column("Name"); HasMany(x=>x.TableB) .KeyColumn("TableA_ID") .Inverse() .Cascase.All() .Not.LazyLoad(); } } public class TableBMap : ClassMap<TableB> { public TableBMap() { Id(x=>x.ID); Map(x=>x.Name).Column("Name"); References(x=>x.TableA).Column("TableA_ID").Not.LazyLoad(); } } Note When the Inverse() is removed from many to one the new records are inserted without any issues and the foreign key is inserted without any issues but when i update a record the foreign key of the existing records are replaced as null.
Please help me i looked in to similar questions but it doesn't help me.
Fluent NHibernate one-to-many relationship setting foreign key to null
HasMany<TableA>(x=>x.TableB).KeyColumn("TableA_ID").Inverse().Cascase.All().Not.LazyLoad();doesn't seem to work with<TableA>HasMany<TableB>(x=>x.TableB).KeyColumn("TableA_ID").Inverse().Cascase.All().Not.LazyLoad();