vkinfotek

using ado net entity data model in windows applications


In this article, we will see how to use an entity data model in a windows application. We will assume that you know how to create an entity data model using Entity framework designer. If you do not know how to create one, read it here - create entity data model using ado.net entity framework designer in visual studio.

Let us now create a form and implement the following functionality.



Retrieve data and show it in a listbox control
Add a new customer to the database
Modify customer details and save data to the database
Delete a particular customer record from the database


The following figure is a data entity model created from the Sales Order Management database.
entity data model for Sales Order Management database
Add the controls to your form. The form should appear as shown in the below figure.
windows form
As the form loads, we want the customer details to be displayed in the listbox control. To do that, we need to write the following code in form_load event.

private void Form1_Load(object sender, EventArgs e)
{
	context = new SalesOrderManagementEntities();
	listBox1.DataSource = context.Customer;
	listBox1.DisplayMember = "Name";
}

In the above given Form_Load event code, we instantiate the ObjectContext class, in this case SalesOrderManagementEntities. Using this class, we can query the entity data model.

When we use the statement context.Customer, the ObjectContext performs the query against the database and returns the data from the customer table. Note that we have not explicitly opened a connection to the database nor written a single sql statement to retrieve data. Set the DataSource and DisplayMember properties of listbox control as shown above.

The add button enables the user to add a new customer. Double click the add button and add the following code in the add button click event handler.

private void btnAdd_Click(object sender, EventArgs e)
{
	context = new SalesOrderManagementEntities();
	Customer newCustomer = new Customer();
	newCustomer.Name="Chris";
	newCustomer.Address="Vij Nagar";
	context.AddToCustomer(newCustomer);   
	context.SaveChanges();
}

In the above code, we instantiate the Customer class and assign values to the class member variables. Note that the entity framework generates AddToXXX methods while creating the entity data model. The XXX string is placed by the entity name. For every entity created in the model, one such method is created.



In the statement context.AddToCustomer(newCustomer), we have passed the object of the customer class to the AddToCustomer method. The method AddToCustomer inserts the new customer into the database.

Similarly we add the functionality for updating the customer details. Double click on the update button and add the following code.

private void btnUpdate_Click(object sender, EventArgs e)
{
	currentCustomer.Address = "Enter new address";
	context.SaveChanges();
}

In the above code, we will modify the address property of the customer and call SaveChanges method of the objectContext class which will update the changes.

In the Delete button click event handler, first we need to identify the customer to be deleted and pass the customer to the DeleteObject method of ObjectContext class. Call SaveChanges method to delete customer data from the database.

private void btnDelete_Click(object sender, EventArgs e)
{
	stradd = currentCustomer.Address;
	context.DeleteObject(currentCustomer);
	context.SaveChanges();
}


Authorship
By Bharati Karedla