First of all, I made a mistake...
The parent entity is 'Account", not the 'AccountEntity' that is generated by LLBL. 'Account' inherits 'AccountEntity'. Same with 'Contact' and 'ContactEntity'.
AccessAdapter adapter = new AccessAdapter() ;
adapter.SaveEntity( this.ent, true, null, true) ;
... this.ent is an instance of 'Account'. This call generates the SQL Server error that says that AccKey in the Contact table cannot be null.
I can't test the result of:
AccessAdapter adapter = new AccessAdapter() ;
if (adapter.SaveEntity( this.entity, true, null, true))
{ code... } else { code... }
because adapter.SaveEntity (this.entity, true, null, true) triggers the exception.
Placing a breakpoint within protected virtual void OnEntityAfterSave(object sender, EventArgs e) in ContactEntity (the ancester to Contact), indicates that this method is never called.
Jeff