Example #1
0
 private void ProcessRelation(IRelation relation, IEntity entity, XmlNode classNode)
 {
     if (relation.Cardinality == Cardinality.RM_M)
     {
         throw new ApplicationException("Many-to-many relation implementation is not supported. Use association entity with two 1:M relations instead.");
     }
     else if (relation.Cardinality == Cardinality.R1_1)
     {
         DeclareOneToOneProperty(relation, entity, classNode);
     }
     else
     {
         if (relation.IsChild(entity) && relation.ChildNavigate)
         {
             DeclareManyToOneProperty(relation, classNode);
         }
         // May be parent and child when self-related
         if (relation.IsParent(entity) && relation.ParentNavigate)
         {
             DeclareOneToManyProperty(relation, classNode);
         }
     }
 }