Ejemplo n.º 1
0
        /// <summary>
        /// 获取一般属性表的数据字典
        /// </summary>
        /// <returns></returns>
        public List <IRAPTableColDTO> GetGenAttrTBLCols()
        {
            //找一般属性表名
            var treeModel = new IRAPTreeModelSet();
            var entity    = treeModel.GetATree(_treeID);

            if (entity.EntityAttrTBName == null || entity.EntityAttrTBName == string.Empty)
            {
                throw new Exception($"第{_treeID}棵树一般属性表未配置在系统中。");
            }
            var node = db.Set <ETreeSysDir>().FirstOrDefault(c => c.TreeID == 9 && c.Code == entity.EntityAttrTBName);

            if (node == null)
            {
                throw new Exception($"第{_treeID}棵树一般属性表在数据字典中未定义!");
            }
            var leafSet    = db.Set <ETreeSysLeaf>().Where(c => c.Father == node.NodeID && c.TreeID == 9);
            var genAttrSet = db.Set <ModelTreeGeneral>().Where(c => c.PartitioningKey == 9);
            var dto        = from a in leafSet
                             join b in genAttrSet on a.EntityID equals b.EntityID
                             orderby a.UDFOrdinal
                             select new IRAPTableColDTO
            {
                DisPlayName   = a.NodeName,
                ColName       = a.Code,
                AllowNull     = b.AllowNull,
                CollationRule = b.CollationRule,
                DataPrecision = b.DataPrecision,
                DecimalDigits = b.DecimalDigits,
                FieldWidth    = b.FieldWidth,
                IdentityInc   = b.IdentityInc,
                IdentitySeed  = b.IdentitySeed,
                IsIdentity    = b.IsIdentity,
                IsRowGuid     = b.IsRowGuid,
                Length        = b.Length,
                MimeType      = b.MimeType,
                Type          = b.Type
            };

            return(dto.ToList());
        }