public static string RelationCascadeToNHValue(RelationCascade cascade) { switch (cascade) { case RelationCascade.None: return("none"); case RelationCascade.Delete: return("delete"); case RelationCascade.Update: return("save-update"); case RelationCascade.All: return("all"); default: throw new GlException("Relation cascade '{0}' is not supported by genie", Enum.GetName(typeof(RelationCascade), cascade)); } }
public Relation(Model owner, XmlNode node) : base(owner, node) { QualName name = new QualName(node, "schema", "entity", Model.DefaultSchema); this.schema = name.Schema; this.entityName = name.Name; QualName name2 = new QualName(node, "schema2", "entity2", Model.DefaultSchema); this.schema2 = name2.Schema; this.entityName2 = name2.Name; this.name2 = Utils.Xml.GetAttrValue(node, "name2", Const.EmptyName); this.required = Utils.Xml.GetAttrValue(node, "required", this.required); this.navigate = Utils.Xml.GetAttrValue(node, "navigate", this.navigate); this.navigate2 = Utils.Xml.GetAttrValue(node, "navigate2", this.navigate2); this.cardinality = ParseCardinality(Utils.Xml.GetAttrValue(node, "cardinality")); this.cascade = ParseRelationCascade(Utils.Xml.GetAttrValue(node, "cascade")); Init(); this.persistence = new Persistence(this, node); this.attrMatch = new RelationAttributesMatch(this, node); this.foreignKey = Model.PhysicalModel.ForeignKeys.CreateForeignKey(this); this.hasIndexName = Utils.Xml.IsAttrExists(node, "indexName"); this.indexName = Utils.Xml.GetAttrValue(node, "indexName", this.indexName); }