Beispiel #1
0
        public void SimpleUpdateWorksWithMultiplePk()
        {
            // --- Arrange
            var db = new FbDatabase(DB_CONN);

            db.BeginTransaction();
            db.Execute(@"create table ""sample"" (""Id1"" int not null, ""Id2"" int not null, ""Name"" varchar(50), ""Description"" varchar(50))");
            db.CompleteTransaction();
            var record = new SampleRecordWithMultiplePk {
                Id1 = 1, Id2 = 2, Name = "First"
            };

            db.Insert(record);

            // --- Act
            record.Name = "NewFirst";
            db.Update(record);

            // --- Assert
            var back = db.FirstOrDefault <SampleRecordWithMultiplePk>(
                @"where ""Id1"" = @0 and ""Id2"" = @1", record.Id1, record.Id2);

            back.ShouldNotBeNull();
            back.Id1.ShouldEqual(record.Id1);
            back.Id2.ShouldEqual(record.Id2);
            back.Name.ShouldEqual("NewFirst");
        }
        public async Task DeleteAsyncWorksWithMultiplePk()
        {
            // --- Arrange
            var db = new FbDatabase(DB_CONN);
            await db.BeginTransactionAsync();

            await db.ExecuteAsync(@"create table ""sample"" (""Id1"" int not null, ""Id2"" int not null, ""Name"" varchar(50), ""Description"" varchar(50))");

            await db.CompleteTransactionAsync();

            var record = new SampleRecordWithMultiplePk {
                Id1 = 1, Id2 = 2, Name = "First"
            };
            await db.InsertAsync(record);

            // --- Act
            var back1 = await db.FirstOrDefaultAsync <SampleRecordWithMultiplePk>(
                @"where ""Id1"" = @0 and ""Id2"" = @1", record.Id1, record.Id2);

            await db.DeleteAsync(record);

            var back2 = await db.FirstOrDefaultAsync <SampleRecordWithMultiplePk>(
                @"where ""Id1"" = @0 and ""Id2"" = @1", record.Id1, record.Id2);

            // --- Assert
            back1.ShouldNotBeNull();
            back2.ShouldBeNull();
        }
        public async Task SimpleUpdateAsyncWorksWithMultipleModifications()
        {
            // --- Arrange
            var db = new SqlDatabase(DB_CONN);
            await db.ExecuteAsync(@"create table sample(Id1 int not null, Id2 int not null, Name varchar(50) null, Description varchar(50) null)");

            var record = new SampleRecordWithMultiplePk {
                Id1 = 1, Id2 = 2, Name = "First"
            };
            await db.InsertAsync(record);

            // --- Act
            record.Name        = "NewFirst";
            record.Description = "Description";
            await db.UpdateAsync(record);

            // --- Assert
            var back = await db.FirstOrDefaultAsync <SampleRecordWithMultiplePk>("where Id1 = @0 and Id2 = @1", record.Id1, record.Id2);

            back.ShouldNotBeNull();
            back.Id1.ShouldEqual(record.Id1);
            back.Id2.ShouldEqual(record.Id2);
            back.Name.ShouldEqual("NewFirst");
            back.Description.ShouldEqual("Description");
        }
        public async Task DeleteAsyncWorksWithMultiplePk()
        {
            // --- Arrange
            var db = new SqlDatabase(DB_CONN);
            await db.ExecuteAsync(@"create table sample(Id1 int not null, Id2 int not null, Name varchar(50) null, Description varchar(50) null)");

            var record = new SampleRecordWithMultiplePk {
                Id1 = 1, Id2 = 2, Name = "First"
            };
            await db.InsertAsync(record);

            // --- Act
            var back1 = await db.FirstOrDefaultAsync <SampleRecordWithMultiplePk>("where Id1 = @0 and Id2 = @1", record.Id1, record.Id2);

            await db.DeleteAsync(record);

            var back2 = await db.FirstOrDefaultAsync <SampleRecordWithMultiplePk>("where Id1 = @0 and Id2 = @1", record.Id1, record.Id2);

            // --- Assert
            back1.ShouldNotBeNull();
            back2.ShouldBeNull();
        }
Beispiel #5
0
        public void SimpleUpdateWorksWithMultiplePk()
        {
            // --- Arrange
            var db = new SqlDatabase(DB_CONN);

            db.Execute(@"create table sample(Id1 int not null, Id2 int not null, Name varchar(50) null, Description varchar(50) null)");
            var record = new SampleRecordWithMultiplePk {
                Id1 = 1, Id2 = 2, Name = "First"
            };

            db.Insert(record);

            // --- Act
            record.Name = "NewFirst";
            db.Update(record);

            // --- Assert
            var back = db.FirstOrDefault <SampleRecordWithMultiplePk>("where Id1 = @0 and Id2 = @1", record.Id1, record.Id2);

            back.ShouldNotBeNull();
            back.Id1.ShouldEqual(record.Id1);
            back.Id2.ShouldEqual(record.Id2);
            back.Name.ShouldEqual("NewFirst");
        }