Ejemplo n.º 1
0
        public override void ToXml(SqlElement sqlElement, XmlElement xmlParent)
        {
            base.ToXml(sqlElement, xmlParent);

            SelectListField selectListField = sqlElement as SelectListField;
            XmlElement      xmlFieldAlias   = SerializerUtil.AddElement(xmlParent, FIELDALIAS, selectListField.FieldAlias);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 构造处理Select语句中查询字段部分
        /// </summary>
        /// <param name="sql">Select语句</param>
        /// <param name="co">通用中间对象</param>
        /// <param name="domainObject">当前节点对象</param>
        /// <param name="dataObject">当前节点对应的数据对象</param>
        public void BuildQueryFieldList(SelectSqlStatement sql, DomainObject domainObject, DataObject dataObject)
        {
            var elements = domainObject.Elements.Where(i => i.ElementType != ElementType.Virtual || i.ElementType != ElementType.Reference);

            foreach (var element in elements)
            {
                if (string.IsNullOrEmpty(element.DataColumnID))
                {
                    continue;
                }
                var column = dataObject.Columns.FirstOrDefault(i => i.ID == element.DataColumnID);
                if (column == null)
                {
                    throw new Exception("");
                }

                var field = new SelectListField()
                {
                    Table            = sql.SqlBuildingInfo.CurrentSqlTable,
                    IsUseAlias       = true,
                    IsUseFieldPrefix = true,
                    FieldName        = column.ColumnName,
                    FieldAlias       = element.Alias
                };
                sql.SelectList.ChildCollection.Add(field);
            }

            //关联过来的字段不需要在此处理,在关联中处理
        }
Ejemplo n.º 3
0
        public override void FromXml(SqlElement sqlElement, XmlElement xmlParent, XmlNamespaceManager xnm)
        {
            base.FromXml(sqlElement, xmlParent, xnm);

            SelectListField selectListField = sqlElement as SelectListField;
            ParserUtil      util            = new ParserUtil(xnm);

            XmlElement xmlFieldAlias = util.Child(xmlParent, FIELDALIAS);

            selectListField.FieldAlias = xmlFieldAlias.InnerText;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 根据SQLDOM元素类型初始化SQLDOM元素对象
        /// </summary>
        /// <param name="sqlElementType">SQLDOM元素类型</param>
        /// <returns>SQLDOM元素对象</returns>
        public static SqlElement GetSQLElement(int sqlElementType)
        {
            SqlElement     element = null;
            SqlElementType type    = (SqlElementType)sqlElementType;

            switch (type)
            {
            case SqlElementType.InsertField:
                element = new InsertField();
                break;

            case SqlElementType.SqlPrimaryKeyField:
                element = new SqlPrimaryKeyField();
                break;

            case SqlElementType.SelectListField:
                element = new SelectListField();
                break;

            case SqlElementType.UpdateField:
                element = new UpdateField();
                break;

            case SqlElementType.From:
                element = new From();
                break;

            case SqlElementType.FromItem:
                element = new FromItem();
                break;

            case SqlElementType.JoinCondition:
                element = new JoinConditionStatement();
                break;

            case SqlElementType.OrderByCondition:
                element = new ConditionStatement();
                break;

            case SqlElementType.FilterCondition:
                element = new ConditionStatement();
                break;

            case SqlElementType.UnKnown:
                break;
            }

            return(element);
        }