public IClassDef Map()
{
if (MustBeMapped())
{
var classDefCol = AllClassesAutoMapper.ClassDefCol;
var underlyingType = this.TypeWrapper.UnderlyingType;
if(classDefCol.Contains(underlyingType))
{
return classDefCol[underlyingType];
}
this.ClassDef = CreateClassDef();
MapSuperClassHierarchy();
MapProperties();
this.ClassDef.MapIdentity();
MapManyToOneRelationships();
MapOneToManyRelationships();
MapOneToOneRelationships();
MapUniqueConstraints();
return this.ClassDef;
}
return null;
}