Using LINQ with ASP.NET (Part 1)
page 10 of 12
by Scott Guthrie
Feedback
Average Rating: 
Views (Total / Last 10 Days): 53986/ 77

Next Steps

All of my samples above were against in-memory collections.  They show you how you will be able to use LINQ against any .NET object model (includes all the ones you have already).

In my next few LINQ-related blog postings I’ll show how you can go even further, and take advantage of the new DLINQ support to use the above techniques against relational databases as well as the new XLINQ support to work against XML files and structures.  What is great about the LINQ project is that the syntax and concepts are the same across all of its uses – so once you learn how to use LINQ against an array or collection, you also know all the concepts needed to work against a database or even XML file.

For example, if you use DLINQ to generate a Northwinds database mapping of Suppliers and their Products (no code is required to set this up), the below code is all you need to write to obtain and databind a hierarchical database result against a GridView like we did above (note: we are using the same data-shaping technique as our previous sample to only require fetching two columns from the database, and automatically join the products of each supplier as a hierarchical group result):

Listing 19

using System;
using System.Query;
 
public partial class Data_Data2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Northwind db = new Northwind();
 
        GridView1.DataSource = from x in db.Suppliers
                               where x.Country == "USA"
                               orderby x.Country
                               select new { 
                                   x.CompanyName, 
                                    x.Country,
                                    x.Products 
                               };
 
        GridView1.DataBind();
    }
}

No custom SQL syntax or code is required – this is all that needs to be written to efficiently fetch and populate hierarchical data now (note: only the rows and columns needed will be fetched -- DLINQ can use the remote function support within LINQ so that it does not need to materialize or fetch the full database table or all columns from a row).  And it is all type-safe, with full compiler checking, intellisense, and debugging supported.

Even better, the ability to plug-in new LINQ providers (of which DLINQ and XLINQ are just two examples) is completely open – so developers who either build or use existing data providers today (for example: O/R database mappers) can easily integrate their implementations with LINQ to have a seamless developer experience.  Once you know LINQ you will know all the basics needed to program against any of them.


View Entire Article

User Comments

Title: linq   
Name: rohit
Date: 2012-10-11 5:04:12 AM
Comment:
thanks a lot,but need more explanation
Title: uk   
Name: hjkhjk
Date: 2012-07-30 2:22:48 AM
Comment:
hjkhjkhjkhjk
Title: Linq   
Name: hanston
Date: 2012-06-04 2:02:15 PM
Comment:
thanks a lot....but the images aren't shown.......
Title: Language Integrated Query   
Name: Daniel Kamroon
Date: 2012-03-14 7:22:12 AM
Comment:
Thank you very much. This has become my best material on LINQ topic. You made it very simple and understandable, thanks for sharing with us. Some other good articles on LINQ I was found over internet during searching this topic which also explained very well about LINQ, URL links of those posts are....
http://msdn.microsoft.com/en-us/library/bb907622.aspx
http://mindstick.com/Articles/9ca8fabd-49ef-4e4d-855b-74fc523d9138/?LINQ%20%28Language%20Integrated%20Query%29
http://www.codeproject.com/Articles/188935/LINQ-Demo-with-ASP-NET-Web-Application

Lastly, I would like to say thanks to everyone for your precious post.
Title: Sql Linq -simple query   
Name: Manish Vala
Date: 2011-02-12 4:23:52 AM
Comment:
protected void Page_Load(object sender, EventArgs e)
{
//DateTime d = DateTime.Now;

string[] Name = {" Manish"," Sunil", "Rohan", "Ashok", "Mahendra" };

GridView1.DataSource = from name in Name where name.Length > 5 orderby name select name.ToUpper();
GridView1.DataBind();}
Title: SQL LINQ-A query   
Name: Subhashini Janakiraman
Date: 2010-12-16 2:48:23 AM
Comment:
In the statement below which you have used,I want to know what Northwind refers to.Is it a dataset or a class?.Please reply me so.
Northwind db=new Northwind();
Title: thanks alot   
Name: avrail
Date: 2010-09-26 1:38:46 AM
Comment:
thanks a lot for this article
Title: Using LINQ with ASP.NET   
Name: S.Kumar
Date: 2010-04-08 3:52:48 PM
Comment:
Really a nice article, gave me a nice overview about LINQ
Title: er   
Name: sdf
Date: 2009-11-14 5:46:55 AM
Comment:
protected void Page_Load(object sender, EventArgs e)
{
string[] cities = { "London", "Amsterdam", "San Francisco", "Las Vegas",
"Boston", "Raleigh", "Chicago", "Charlestown",
"Helsinki", "Nice", "Dublin" };

GridView1.DataSource = from city in cities
where city.Length > 4
orderby city
select city.ToUpper();

GridView1.DataBind();
}
Title: nice   
Name: vice
Date: 2009-11-14 5:45:23 AM
Comment:
GridView1.DataSource = from city in cities
where city.Length > 4
orderby city
select city.ToUpper();
Title: jeyakumar   
Name: jayakumar
Date: 2009-11-14 5:40:46 AM
Comment:
it looking like me
Title: ok   
Name: kumar
Date: 2009-11-14 5:37:29 AM
Comment:
nice but not understand
Title: Topics   
Name: Dhanya
Date: 2009-10-19 6:09:06 AM
Comment:
I am not understand this topics..
Title: Trying To Get a Handle On This LINQ Stuff   
Name: Vibha Kant Pandey
Date: 2009-04-21 3:05:18 AM
Comment:
This article really enabled me to understand the concept of linq. the only problem i faced with this article is that i was not redirected to the correct place to download Linq May ctp
Title: About LINQs in ASP.NET   
Name: SitaRamReddy.Vempada
Date: 2009-04-01 5:47:16 AM
Comment:
This article help me a lot in LINQ concept, I thank to all who are in this unit

Thanks & Regards,
srvempada
Title: Using LINQ with ASP.NET (Part 1)   
Name: joseph jelasker
Date: 2009-03-28 1:52:20 AM
Comment:
This article really enabled me to understand the concept of linq. the only problem i faced with this article is that i was not redirected to the correct place to download Linq May ctp


Thanks a lot
Title: LINQ in 2005 and 2008   
Name: Manigandan
Date: 2008-12-16 6:38:07 AM
Comment:
1.We are having this LINQ concept in VS2005 itself...
What is extra facility added in VS2008.

2.If i want to install LINQ separately in VS2005, What is the software that i have to install?
Title: Good one   
Name: Shailendra
Date: 2008-12-09 2:24:22 AM
Comment:
Thanks for all, its very easy to know about linq from these articles.

thanks once again
Title: Trying To Get a Handle On This LINQ Stuff   
Name: D Wiley
Date: 2008-11-21 9:21:36 AM
Comment:
This is on of the best walkthroughs I have seen on the subject.
Title: Leraning LINQ   
Name: Manjeev kumar singh
Date: 2008-10-03 4:00:41 AM
Comment:
This one is most useful article LINQ on web. its really good start for how is beginner in LINQ....
Really thanks
Title: Using Richer Collections   
Name: Nithya K
Date: 2008-09-18 6:58:04 AM
Comment:
Now i got .Its my mistake.
It is very useful
Title: Using Richer Collections   
Name: Nithya K
Date: 2008-09-18 6:00:18 AM
Comment:
i got an error while executing
Title: Using Richer Collections   
Name: Nithya K
Date: 2008-09-18 5:53:19 AM
Comment:
\
\S
\
\
Title: Leraning LINQ   
Name: vanitha
Date: 2008-09-16 1:31:46 AM
Comment:
Very useful in learning the basic concepts of LINQ.
Title: Using LINQ with ASP.NET   
Name: Durai karthik M
Date: 2008-03-15 7:20:50 AM
Comment:
Very clear to understand the LINQ concept . Keep up the good work
Title: -   
Name: martin
Date: 2008-01-21 4:41:46 AM
Comment:
The images aren't shown... you need to remake the picture HTML






Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-03-28 8:18:05 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search