/// <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)); }
/// <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)); }
/// <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); }
/// <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; }