Beispiel #1
0
        /// <summary>在该程序集中创建一个实体类</summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public EntityBuilder Create(IDataTable table)
        {
            if (String.IsNullOrEmpty(table.Name))
            {
                throw new ArgumentNullException(nameof(table.Name), "数据表中将用作实体类名的Name不能为空!");
            }

            // 复制一份,以免修改原来的结构
            var tb = table.Clone() as IDataTable;

            return(Create2(tb));
        }
Beispiel #2
0
        /// <summary>在该程序集中创建一个实体类</summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public EntityClass Create(IDataTable table)
        {
            if (String.IsNullOrEmpty(table.Name))
            {
                throw new ArgumentNullException("Alias", "数据表中将用作实体类名的别名Alias不能为空!");
            }

            // 复制一份,以免修改原来的结构
            var tb = table.Clone() as IDataTable;

            return(Create2(tb));
        }
Beispiel #3
0
        /// <summary>在该程序集中创建一个实体类</summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public EntityClass Create(IDataTable table)
        {
            if (String.IsNullOrEmpty(table.Alias)) throw new ArgumentNullException("Alias", "数据表中将用作实体类名的别名Alias不能为空!");

            // 复制一份,以免修改原来的结构
            var tb = table.Clone() as IDataTable;
            return Create2(tb);
        }
Beispiel #4
0
        /// <summary>在该程序集中创建一个实体类</summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public EntityClass Create(IDataTable table)
        {
            // 复制一份,以免修改原来的结构
            IDataTable tb = table.Clone() as IDataTable;
            //String className = tb.Name.Replace("$", null);

            //// 计算名称,防止属性名和类型名重名
            //StringCollection list = new StringCollection();
            //list.Add("Item");
            //list.Add("System");
            //list.Add(className);

            //// 保存属性名,可能跟字段名不一致
            //Dictionary<String, String> fieldNames = new Dictionary<String, String>(StringComparer.OrdinalIgnoreCase);
            //foreach (IDataColumn item in tb.Columns)
            //{
            //    String name = item.Name;
            //    for (int i = 2; list.Contains(name); i++)
            //    {
            //        name = item.Name + i;
            //    }
            //    //item.Name = name;
            //    fieldNames.Add(item.Name, name);
            //}

            EntityClass entity = new EntityClass();
            entity.Assembly = this;
            entity.ClassName = tb.Alias;
            entity.Table = tb;
            //entity.FieldNames = fieldNames;
            entity.Create();
            entity.AddProperties();
            entity.AddIndexs();
            //entity.AddNames();

            Classes.Add(entity);
            return entity;
        }