コード例 #1
0
ファイル: EntityBuilder.cs プロジェクト: kevintt228/newlifex
        /// <summary>为Xml模型文件生成实体类</summary>
        /// <param name="tables">模型文件</param>
        /// <param name="option">生成可选项</param>
        /// <param name="chineseFileName">是否中文名称</param>
        public static Int32 BuildTables(IList <IDataTable> tables, BuilderOption option, Boolean chineseFileName = true)
        {
            if (tables == null || tables.Count == 0)
            {
                return(0);
            }

            if (option == null)
            {
                option = new BuilderOption();
            }
            else
            {
                option = option.Clone();
            }
            option.Partial = true;

            var count = 0;

            foreach (var item in tables)
            {
                // 跳过排除项
                if (option.Excludes.Contains(item.Name))
                {
                    continue;
                }
                if (option.Excludes.Contains(item.TableName))
                {
                    continue;
                }

                var builder = new EntityBuilder
                {
                    AllTables = tables,
                    Option    = option.Clone(),
                };

                builder.Load(item);

                builder.Execute();
                builder.Save(null, true, chineseFileName);

                builder.Business = true;
                builder.Execute();
                builder.Save(null, false, chineseFileName);

                count++;
            }

            return(count);
        }
コード例 #2
0
        /// <summary>为Xml模型文件生成实体类</summary>
        /// <param name="tables">模型文件</param>
        /// <param name="option">生成可选项</param>
        /// <param name="chineseFileName">是否中文名称</param>
        public static Int32 BuildTables(IList <IDataTable> tables, BuilderOption option, Boolean chineseFileName = true)
        {
            if (tables == null || tables.Count == 0)
            {
                return(0);
            }

            if (option == null)
            {
                option = new BuilderOption();
            }
            else
            {
                option = option.Clone();
            }
            option.Partial = true;

            if (Debug)
            {
                var output = option.Output;
                if (output.IsNullOrEmpty())
                {
                    output = ".";
                }
                XTrace.WriteLine("生成实体类 {0}", output.GetBasePath());
            }

            var count = 0;

            foreach (var item in tables)
            {
                // 跳过排除项
                if (option.Excludes.Contains(item.Name))
                {
                    continue;
                }
                if (option.Excludes.Contains(item.TableName))
                {
                    continue;
                }

                var builder = new EntityBuilder
                {
                    AllTables = tables,
                    Option    = option.Clone(),
                };
                if (Debug)
                {
                    builder.Log = XTrace.Log;
                }

                builder.Load(item);

                builder.Execute();
                builder.Save(null, true, chineseFileName);

                builder.Business = true;
                builder.Execute();
                builder.Save(null, false, chineseFileName);

                count++;
            }

            return(count);
        }