Using LINQ to ADO.NET Entity Data Model
The purpose of this article is to show you how to use LINQ against ADO.NET Entity Data Model. It will cover how to:
This tutorial uses the Northwind database. You can get a SQL Query for the whole database from here. You can use Microsoft SQL Management Studio to execute the query.
Create the ADO.NET Entity Data Model
You can take advantage of the Visual Studio Entity Data Model Wizard to generate an Entity Data Model from the Northwind database automatically.
-
Right-click on your project in the Solution Explorer window and select the menu option Add -> New Item.
-
In the Add New Item dialog, select the Data category. Select the ADO.NET Entity Data Model template, give the Entity Data Model the name Northwind.edmx, and click the Add button. Clicking the Add button launches the Data Model Wizard.
-
In the Choose Model Contents step, choose the EF Designer from Database option and click the Next button.
-
In the Choose Your Data Connection step, select the Northwind.mdf database connection, enter the entities connection settings name NorthwindEntities, and click the Next button.
-
In the Choose Your Database Objects and Settings step, select the desired database tables, specify the model namespace and click the Finish button.
Query an Entity from the Database
The code in Example 1 shows how to use LINQ query syntax to retrieve an IEnumerable sequence of Product objects.
Example 1: Query Product by CategoryName
Update an Entity in the Database
The code in Example 2 demonstrates how to grab a single Product object from the database, update its price, and then save the changes back to the database.
Example 2: Update UnitPrice of Product
Insert a New Record(s) in the Database
The code in Example 3 shows you how to create a new Category object. Then, it shows how to create two new Products and associate them with the Category. Finally, all three objects are saved in the database.
Example 3: Insert Products with new Category
Delete a Record from the Database
Example 4 demonstrates you how to delete all 'Test' products from the database.
Example 4: Delete a record based on a condition
Retrieve a Record with Server-side Paging
Example 5 shows you how to implement efficient server-side database paging. By using the Skip() and Take() methods, you will return 15 rows from the database - starting with row 300.