コード例 #1
0
 void TransactionTest(bool withCommit)
 {
     using (FileLogger l = new FileLogger("MdbContextTest", new FileLogSettings()
     {
         DateFolderMask = "yyyy-MM-dd"
     }))
     {
         using (var ctx = new MdbContext(_cn))
         {
             ctx.BeginTransaction();
             createTestTable(ctx, l);
             insertTestTable(ctx, l);
             selectTestTable(ctx, l);
             if (withCommit)
             {
                 ctx.Commit();
                 dropTestTable(ctx, l);
             }
             else
             {
                 //Отменяет все коммиты
                 ctx.RollBack();
             }
         }
     }
 }
コード例 #2
0
        static void createTestTable(MdbContext ctx, FileLogger l)
        {
            l.Debug("Create Test Table Start");
            int    i   = 0;
            string sql = @"Create Table TestTable(
					ID		uniqueidentifier	not null primary key,
					Name	varchar(128)	not null,
					DateOper	datetime	not null,
					Notes	varchar(256)	null,
					Handle	int				not null)"                                    ;

            ctx.BeginTransaction();
            i = ctx.Execute(sql);
            ctx.Commit();
        }
コード例 #3
0
        static void insertTestTable(MdbContext ctx, FileLogger l)
        {
            l.Debug("Insert Test Table Start");
            string sql = @"Insert Into TestTable (ID, Name, DateOper, Handle)
					Values(@ID, @Name, @DateOper, @Handle)"                    ;

            ctx.BeginTransaction();
            int i = 0;

            for (; i < 100; i++)
            {
                ctx.Execute(sql,
                            new MdbParameter("@ID", Guid.NewGuid()),
                            new MdbParameter("@Name", "Тестовая строка № " + i.ToString()),
                            new MdbParameter("@DateOper", vbo.Date().AddDays(i - 1000)),
                            new MdbParameter("@Handle", i)
                {
                    NullIfEmpty = false
                });;
            }
            ctx.Commit();
            l.Debug($"Insert Test Table Finish rows result {i}");
        }