示例#1
0
        EntityClass Create2(IDataTable table)
        {
            var entity = new EntityClass();

            //entity.Assembly = this;
            entity.Name     = table.Name;
            entity.Table    = table;
            entity.ConnName = ConnName;

            if (OnClassCreating != null)
            {
                var e = new EntityClassEventArgs {
                    Class = entity
                };
                OnClassCreating(this, e);
                if (e.Cancel)
                {
                    return(null);
                }

                entity = e.Class;
            }

            entity.Create();
            entity.AddProperties();
            entity.AddIndexs();
            //entity.AddNames();

            if (OnClassCreated != null)
            {
                var e = new EntityClassEventArgs {
                    Class = entity
                };
                OnClassCreated(this, e);
                if (e.Cancel)
                {
                    return(null);
                }

                entity = e.Class;
            }

            if (entity != null)
            {
                NameSpace.Types.Add(entity.Class);

                Classes.Add(entity);
            }

            return(entity);
        }
示例#2
0
        EntityClass Create2(IDataTable table)
        {
            var entity = new EntityClass();

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

            Classes.Add(entity);
            return(entity);
        }
示例#3
0
        EntityClass Create2(IDataTable table)
        {
            var entity = new EntityClass();
            entity.Assembly = this;
            entity.ClassName = table.Alias;
            entity.Table = table;
            //entity.FieldNames = fieldNames;
            entity.Create();
            entity.AddProperties();
            entity.AddIndexs();
            //entity.AddNames();

            Classes.Add(entity);
            return entity;
        }
示例#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;
        }