Introduction
In this article, I will speak about LINQ and Compact Framework 3.5. I've written a simple example to demonstrate how we can use LINQ and Dataset to manipulate data.
Background
What is LINQ? LINQ is a codename for the set of extensions to the .NET Framework that encompass language-integrated data query, set, and transform operations. It includes extensions to the C# and Visual Basic languages with native language syntax for queries. It also provides class libraries to take advantage of these capabilities. With the release of Compact Framework 3.5 and Visual Studio "Orcas" Beta 1, LINQ extensions are now also available for mobile development.
About the sample
In this example, I will demonstrate a simple application that has one form. It displays and searches countries' information in a grid. For an illustration of how to work with LINQ and Dataset, the application will retrieve data from the SQL Server Compact Edition file demo.sdf. The application uses Typed Data Adapter as the Data Access Layer and DataTable as the data type.
LINQ in action
In the code below, I am retrieving data from a database and filling in the Countries DataTable. After that, just for illustration, I am using LINQ to sort and display the data in a grid through the bindingSource object.
private void LoadData()
{
Countries = dal.GetData();
var query = from r in Countries.AsEnumerable()
orderby r.Field<string>("Name") ascending
select new
{
Code = r.Field<string>("Code"), Name = r.Field<string>("Name")
};
bindingSource1.DataSource = query;
}
In the code below, I am using LINQ to search data in DataTable.
var query = from r in Countries.AsEnumerable()
where r.Field<string>("Name").ToLower().Contains(txtSearch.Text.ToLower())
orderby r.Field<string>("Name") ascending
select new
{
Code = r.Field<string>("Code"), Name = r.Field<string>("Name")
};
bindingSource1.DataSource = query;
Conclusion
As you can see, LINQ is very easy and intuitive to use. Its syntax is quite similar to that of SQL and it is a part of the C# and Visual Basic languages. We can use it to manipulate data in many scenarios.
History
- 14 June, 2007 -- Original version posted