예제 #1
0
        public async Task Delete()
        {
            dynamic d = new ExpandoObject();

            d.Table = await Fixture.AzureStorage.GetTableReferenceAsync(LvConstants.TableNameOfFavorite);

            d.Entity = new TableEntity
            {
                PartitionKey = "1e655378-f6c8-4188-8c9e-7fa2b9b4ac44",
                RowKey       = "0_2519737187735025551",
                ETag         = "*"
            };

            ICommand delete = new DeleteTableEntityCommand();
            await delete.ExecuteAsync(d);
        }
예제 #2
0
        public async Task Crud()
        {
            ICommand createCommand      = new CreateTableEntityCommand();
            ICommand readCommand        = new ReadTableEntityCommand <TestTableEntity>();
            ICommand updateCommand      = new UpdateTableEntityCommand();
            ICommand deleteCommand      = new DeleteTableEntityCommand();
            ICommand deleteTableCommand = new DeleteTableCommand();

            var partitionKey = Guid.NewGuid().ToString();
            var rowKey       = Guid.NewGuid().ToString();
            var text         = Guid.NewGuid().ToString();

            var entity = new TestTableEntity
            {
                PartitionKey = partitionKey,
                RowKey       = rowKey,
                Text         = text
            };

            // create
            dynamic c = await GetInitialExpandoObjectAsync();

            c.Entity = entity;
            await createCommand.ExecuteAsync(c);

            // read
            dynamic r = await GetInitialExpandoObjectAsync();

            r.PartitionKey = partitionKey;
            r.RowKey       = rowKey;
            await readCommand.ExecuteAsync(r);

            TestTableEntity entityR = r.Entity;

            Assert.Equal(entity.PartitionKey, entityR.PartitionKey);
            Assert.Equal(entity.RowKey, entityR.RowKey);
            Assert.Equal(entity.Text, entityR.Text);

            // update
            var text2   = Guid.NewGuid().ToString();
            var entity2 = entity.CloneByJson();

            entity2.Text = text2;
            dynamic u = await GetInitialExpandoObjectAsync();

            u.Entity = entity2;
            await updateCommand.ExecuteAsync(u);

            dynamic r2 = await GetInitialExpandoObjectAsync();

            r2.PartitionKey = partitionKey;
            r2.RowKey       = rowKey;
            await readCommand.ExecuteAsync(r);

            TestTableEntity entityR2 = r.Entity;

            Assert.Equal(entity2.PartitionKey, entityR2.PartitionKey);
            Assert.Equal(entity2.RowKey, entityR2.RowKey);
            Assert.Equal(entity2.Text, entityR2.Text);

            // delete
            dynamic d = await GetInitialExpandoObjectAsync();

            d.Entity = entity2;
            await deleteCommand.ExecuteAsync(d);

            dynamic r3 = await GetInitialExpandoObjectAsync();

            r3.PartitionKey = partitionKey;
            r3.RowKey       = rowKey;
            await readCommand.ExecuteAsync(r);

            TestTableEntity entityR3 = r.Entity;

            Assert.Null(entityR3);

            dynamic dt = await GetInitialExpandoObjectAsync();

            await deleteTableCommand.ExecuteAsync(dt);
        }