public void Test_Partial()
        {
            Writer w = new Writer(@"F:\FileIOTest\test.mig");

            PartialWriter pw = w.CreatePartial("student", "学生信息");

            List <Student> list = new List <Student>();

            for (int i = 0; i < 1000; i++)
            {
                list.Add(new Student());
            }

            pw.Append(typeof(Student).Name, list);

            pw.Commit();

            pw = w.CreatePartial("students", "aaa");
            for (int i = 0; i < 1000; i++)
            {
                pw.Append($"student_{i}", new Student());
            }
            pw.Commit();

            w.Commit();
        }
        public override void ExecConstraints()
        {
            PartialWriter pw = writer.CreatePartial("constraint", "约束结构");

            // 需要创建约束的表
            IEnumerable <string> tableIncludeConstraint = Profile.ImpTables.Where(item => item.IncludeConstraint).Select(item => item.TableName);

            IEnumerable <Constraint> consts = Domain.Helper.Constraints.GetOwnerConstraints(Profile.SourceConnString)
                                              .Where(item => tableIncludeConstraint.Contains(item.TableName));

            // 规定约束建立的顺序
            List <Constraint> list = new List <Constraint>();

            list.AddRange(consts.Where(item => item.Type == "P"));
            list.AddRange(consts.Where(item => item.Type == "U"));
            list.AddRange(consts.Where(item => item.Type == "R"));

            foreach (var c in list)
            {
                try
                {
                    Constraint con = Domain.Helper.Constraints.GetConstraintDetail(Profile.SourceConnString, c.Name);
                    pw.Append(c.Name, con);

                    UpdateMessage($"{c.Name}约束导出成功");
                }
                catch (Exception ex)
                {
                    UpdateMessage($"{c.Name}约束导出失败:{ex.Message}");
                }
                finally
                {
                    IncreaseFinishedTask();
                }
            }
            pw.Commit();
        }