Ok, I have to admit it; I heart LINQ... I have a man-crush on LINQ; if LINQ were a president it would be Baberaham LINQoln. Ok, that last one was pretty bad, but I have had that quote from Wayne's World floating around in my head for a while now and it had to come out sooner or later. :)
When I first heard about LINQ at a big Microsoft launch event I thought it was crap. The developer evangelist showed how you can generate inline SQL statements using LINQ and left it at that. My first thought was "great, a technology that takes us back to the stone ages of SQL development where developers don't put any thought into their database queries." How wrong I was; LINQ is awesome and can be a huge benefit to a single developer working with a local database, enterprise developers using stored procedures and developers not working with databases at all.
I purchased the most excellent "LINQ in Action" book by Fabrice Marguerie, Steve Eichert & Jim Wooley; which I have been reading through in my spare time. If you are looking for a good resource to learn LINQ beyond the web I highly recommend this book.
When I first heard about LINQ at a big Microsoft launch event I thought it was crap. The developer evangelist showed how you can generate inline SQL statements using LINQ and left it at that. My first thought was "great, a technology that takes us back to the stone ages of SQL development where developers don't put any thought into their database queries." How wrong I was; LINQ is awesome and can be a huge benefit to a single developer working with a local database, enterprise developers using stored procedures and developers not working with databases at all.
I purchased the most excellent "LINQ in Action" book by Fabrice Marguerie, Steve Eichert & Jim Wooley; which I have been reading through in my spare time. If you are looking for a good resource to learn LINQ beyond the web I highly recommend this book.
I have also been trying to use LINQ as much as possible in my development, as it is a huge time saver. Along the way I have learned a few tips & tricks for problems I needed to solve using LINQ which I will share with you below. I will follow up this post with other LINQ based posts including a couple of LINQ based ASP.NET controls that I am working on.
Prereqs
Remember to include a reference to LINQ in your project as well as your class before trying to use LINQ or you are going to have some problems.
C#: using System.Linq;
VB.NET: Imports System.Linq
C#: using System.Linq;
VB.NET: Imports System.Linq
Returning a Single Result from a LINQ Query
So lets say that you want to use a LINQ query to return a single result. How do you do that?
Here is an example:
string emailAddress = (from i in individuals
where i.MemberID.Equals(individual.MemberID)
select i.EmailAddress).Single();
Here is an example:
string emailAddress = (from i in individuals
where i.MemberID.Equals(individual.MemberID)
select i.EmailAddress).Single();
Using a LINQ Like % Query
How do you write a query to search for a partial string match? Something like "WHERE s LIKE 'asdf%'
Here is an example:
string myPartialSearchString = "Smit";
var peoples = from i in individuals
where i.LastName.Contains(myPartialSearchString)
select i;
Here is an example:
string myPartialSearchString = "Smit";
var peoples = from i in individuals
where i.LastName.Contains(myPartialSearchString)
select i;
Handling NULL Parameters in a LINQ Queries
Lets say you have parameters(s) in your LINQ query where clause, how do you handle that?
Here is an example:
var peoples= from i in individuals
where (string.IsNullOrEmpty(lastName) i.LastName.Equals(lastName))
select i;
Here is an example:
var peoples= from i in individuals
where (string.IsNullOrEmpty(lastName) i.LastName.Equals(lastName))
select i;
1 comments:
Hey Aaron! Thanks for the mention of LINQ in Action and the kinds words, I'm very happy you've been enjoying it! :)
Cheers,
Steve
Post a Comment