I have a weird problem at hand. First have a look at my table schema.
A(ID) B(ID,AID) C(ID,AID) D(ID,CID)
The map files are as below:
MAP A
{
HasMany(x => x.B).Cascade.AllDeleteOrphan().Inverse().KeyColumn("AID");
HasMany(x => x.C).Cascade.AllDeleteOrphan().Inverse().KeyColumn("AID");
}
MAP B
{
References(x => x.A).Column("AID");
}
MAP C
{
References(x => x.A).Column("AID");
HasMany(x => x.D).Cascade.AllDeleteOrphan().Inverse().KeyColumn("BID");
}
MAP D
{
References(x => x.C).Column("CID");
}
While doing SaveORUpdate/Merge on A it doesn't insert AID into B and C. But it does insert CID into D. Any suggestions.