I have two table :
TableA :
    Id (identity)
    IdTableB(Foreign Key) Nullable
    ...
TableB :
    Id (identity)
    ...
I did that mapping :
ClassA (tableA)
...
m.ManyToOne<ClassB>(x => x.ClassB, map =>
{
     map.Column("IdTableB");
     map.Cascade(Cascade.All);
     map.Unique(true);
});
...
ClassB (tableB)
...
m.OneToOne<ClassA>(x => x.ClassA, map =>
{
     map.PropertyReference(x => x.ClassB);
     map.Constrained(false);
});   
...
Ok, the mapping is fine and select/save works fine.
Now I want to delete ClassB from a ClassA object, like that :
ClassA classA = session.Load(1);
classA.ClassB = null;
session.commit();
That update de tableA with null on IdTableB, but it do not delete the ClassB from tableB.
First, is it my mapping fine? Is there a better solution?
Second, how can I delete that ClassB object when I explicity delete from relation?
Thanks