Table of Contents
Azure has provided 4 kinds of data storages blobs, tables, queues and SQL Azure. In this section, we will see how to insert a simple customer record with code and name property in Azure tables.
In case you are a complete fresher like me, you can download my two Azure basic videos which explain what Azure is all about:
Please feel free to download my free 500 question and answer eBook which covers .NET, ASP.NET, SQL Server, WCF, WPF, WWF, Silverlight, Azure @ http://tinyurl.com/4nvp9t.
We will create a simple customer entity with customer code and customer name and add the same to Azure tables and display the same on a web role application.
In case you are a complete fresher to Azure, please ensure you have all the prerequisites in place. You can read this article to get the basic prerequisites.
The next step is to select the cloud service template, add the web role project and create your solution.
The third step is to specify the connection string where your table source is currently at. So expand the roles folder, right click on webroletable and select properties as shown in the below figure:
A setting tab will then pop up. Select the settings section, add a new setting, give a name to your connection string and select type as ‘
We also need to specify where the storage location is, so select the value and select ‘Use development storage’ as shown in the below figure. Development storage means your local PC currently where your Azure fabric is installed.
If you open the ‘ServiceConfiguration.cscfg’ file, you can see the setting added to the file.
In order to do Azure storage operation, we need to add a reference to ‘
Once the DLLs are referred, let’s refer to the namespaces in our code as shown below. Currently we will store a customer record with customer code and customer name in tables. So for that, we need to define a simple customer class with ‘
clsCustomer’. This class needs to inherit from ‘
TableServiceEntity’ class as shown in the below figure.
The second class which we need to create is the data context class. The data context class will take the entity class and enter the same in tables. You can see in the below figure we have created one more class ‘
The next step is to define the properties of the customer class. In the below figure, we have defined two properties in the customer class - customer code and customer name.
Every row in the table needs to be defined with a partition key and a unique row key. In the constructor, we have initialized the partition key with a text “
Customers” and the unique key is set to the current date time tick count.
The next step is to create your data context class which will insert the customer entity into Azure table storage. Below is the code snippet of the data context class.
The first noticeable thing is the constructor which takes in location of the credentials. The second is the ‘
Iqueryable’ interface which is used by the cloud service to create tables in Azure cloud service.
In the same data context, we have created an ‘
AddCustomer’ method which takes in the customer entity object and calls the ‘
AddObject’ method of the data context to insert the customer entity data into Azure tables.
Step 7: Create the Table Structure on the ‘onstart’
The next step is to create the table on the ‘onstart’ of the web role.
So open ‘webrole.cs’ file and put the below code on the ‘
onstart’ event. The last code enclosed in curly brackets gets the configuration and creates the table's structure.
The final thing is to code the client. So below is the UI / ASPX file which we have created to insert the table entity values.
On the button click, we need to consume the data context and the entity class.
So the first step is to get the configuration setting of the data connection.
var customer = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
The next step is to pass these credentials to the data context class and create an object of the same.
var customerContext = new clsCustomerDataContext
Flourish the entity object with data and pass it to the data context class to add the same into tables.
clsCustomer objCustomer = new clsCustomer();
objCustomer.CustomerCode = txtCustomerCode.Text;
objCustomer.CustomerName = txtCustomerName.Text;
Finally we loop through the context customer entity collection to see if the customer is added into the table.
foreach (clsCustomer obj in customerContext.Customers)
Response.Write(obj.CustomerCode + " " + obj.CustomerName + "<br>");
It’s time to enjoy your hard work, so run the application and enjoy your success.
- 10th January, 2010: Initial post