/// <summary> /// Maps the <see cref="ReflectionWrappers.PropertyWrapper"/> to a <see cref="IRelationshipDef"/>. /// </summary> /// <returns></returns> public IRelationshipDef MapOneToOne() { if (!MustBeMapped()) return null; CheckReverseRelationshipValid(); var relatedClassType = PropertyWrapper.RelatedClassType.UnderlyingType; DeleteParentAction deleteAction = GetDeleteAction(); var relDef = new SingleRelationshipDef(this.PropertyWrapper.Name, relatedClassType , new RelKeyDef(), true, deleteAction) { OwningBOHasForeignKey = this.OwningBoHasForeignKey, ReverseRelationshipName = this.ReverseRelationshipName }; SetRelationshipType(relDef); relDef.SetAsOneToOne(); IRelPropDef relPropDef = this.CreateRelPropDef(); relDef.RelKeyDef.Add(relPropDef); return relDef; }