Click here to Skip to main content
Click here to Skip to main content

Usage of LINQ and Datasets in Compact Framework 3.5

By , 14 Jun 2007
 

Screenshot - demo.jpg

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.

Screenshot - ds.jpg

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.

///Loading data from demo.sdf to Countries table
private void LoadData()
{
    ///Get Data
    Countries = dal.GetData();

    ///Building LINQ Query
    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") 
    };

    ///Binding data
    bindingSource1.DataSource = query;
}

In the code below, I am using LINQ to search data in DataTable.

///Building LINQ Query
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") 
    };

///Binding data
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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Oleg Levin
Software Developer SoftSolutions
Israel Israel
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 4membersuhaslive12 Oct '11 - 17:10 
QuestionHow about the update dataRow in LINQ?memberagskid1 Jul '09 - 17:21 
AnswerRe: How about the update dataRow in LINQ?memberOleg Levin1 Jul '09 - 18:13 
GeneralRe: How about the update dataRow in LINQ?memberagskid2 Jul '09 - 3:19 
update Database ,yes something like linq to SQL
 
Thank you
AnswerRe: How about the update dataRow in LINQ?memberOleg Levin2 Jul '09 - 4:41 
GeneralHi therememberSebulba_se10 Sep '08 - 5:29 
GeneralRe: Hi therememberOleg Levin10 Sep '08 - 7:00 
QuestionAsEnumerable() does not exist.memberzhenyulu200317 Aug '07 - 12:04 
AnswerRe: AsEnumerable() does not exist.memberOleg Levin18 Aug '07 - 8:37 
GeneralRe: AsEnumerable() does not exist.memberzhenyulu200320 Aug '07 - 2:56 
GeneralCompact FrameworkmemberPamela198412 Jul '07 - 21:38 
GeneralRe: Compact FrameworkmemberOleg Levin13 Jul '07 - 2:56 
GeneralRe: Compact FrameworkmemberPamela198415 Jul '07 - 3:17 
GeneralRe: Compact FrameworkmemberOleg Levin15 Jul '07 - 8:32 
GeneralRe: Compact Framework [modified]memberPamela198417 Jul '07 - 19:43 
QuestionLINQmembergagliapas19 Jun '07 - 13:43 
AnswerRe: LINQmemberOleg Levin19 Jun '07 - 20:02 
GeneralnicememberSacha Barber14 Jun '07 - 22:37 
GeneralRe: nicememberOleg Levin15 Jun '07 - 6:14 
GeneralThanksmembermerlin98114 Jun '07 - 5:21 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 14 Jun 2007
Article Copyright 2007 by Oleg Levin
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid