コード例 #1
0
ファイル: MergeWriterTests.cs プロジェクト: japj/SSDT-DevPack
        public void test()
        {
            var tableRepository = new TableRepository(Path.Combine(Directories.GetSampleSolution(), @"NestedProjects\Nested\bin\Debug\Nested.dacpac"));
            
            var m = new Merge.MergeDescriptor.Merge();

            var tempFile = Path.Combine(Path.GetTempPath(),
                Guid.NewGuid().ToString().Replace("-", "").Replace("{", "").Replace("}", ""));

            File.CreateText(tempFile).Close();

            m.ScriptDescriptor = new InScriptDescriptor(0, 0, tempFile);
            m.ScriptDescriptor.OriginalText = null;
            m.Table = tableRepository.Get().First(p=>p.Name.GetName() == "TheTable");
            m.Data = new DataTable();
            foreach (var c in m.Table.Columns)
            {
                m.Data.Columns.Add(c.Name.GetName());
            }

            for (int i = 0; i < 10; i++)
            {
                var r = m.Data.NewRow();
                for (int j = 0; j < r.ItemArray.Length; j++)
                {
                    r[j] = i;
                }
                m.Data.Rows.Add(r);
            }
            m.Name = m.Table.Name.ToIdentifier();

            m.Option = new MergeOptions(true, true, false, true);


            var writer = new Merge.MergeDescriptor.MergeWriter(m);
            Assert.DoesNotThrow(writer.Write);

            File.Delete(tempFile);
        }