Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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);
        }