LINQ 101

Daniel Egan is giving this talk.  He was one of the ones in charge of setting up the Code Camp schedule.  He noticed that while there were several LINQ topics there were no intro topics so he decided to give this one.

Daniel is doing a great job, however, it’s a 3 hour talk condensed into one so he’s having to skip a few things.  Couple that with projector problems and we’re really short on time.  We’re going over basic ORM concepts and new properties in VS 2008.  I don’t know that he’s actually going to get to LINQ! 🙂

I saw a talk about a year ago at the Microsoft Irvine offices where the presenter went through about an hour and a half of seemingly disconnected features of VS 2008.  Then suddenly when he started talking about LINQ in depth under the covers it all made sense why these features made it into VS 2008 and how LINQ really works.  I think Daniel is going through the same talk, but as I said I don’t think there is a lot of time.  Man I wish I remembered who that presenter was.  The presentation was one of the best I’ve seen.

Daniel did mention automatic properties.  He doesn’t like them either! 🙂 They are fun, quick and do enhance readability, however, the instant you need to add checks or some business logic you have to rip apart the auto property.  So it doesn’t really do you much good.  ReSharper sort of tries to help but not really (maybe I just don’t know the right command).  If ReSharper could take an auto property and change it to a fully fleshed out get and set that would be great.

He’s going over extension methods now.  This is one of the most usable enhancements of .Net 3.5 in my opinion.  This can create a huge amount of dependent code and a big mess if not used properly.  However, if a corporation has an internal shared library of extension methods that can be great.  If you are working on open source projects then you have to make sure the extension methods are included in the build.  I think there will eventually be a lot of “common” extension libraries, much like Apache Commons for Java, on CodePlex and other sources for people to download and use.  Then everyone can make use of common extensions that are freely available and help everyone to code consistently. 

Daniel doesn’t like var!  :)  There are definitely mixed feelings about this.  I haven’t used it enough to weigh in on one side or the other.  It’s just interesting to hear different reactions.

Unfortunately that’s all the time I have.  I have to run to the next session.  Daniel is going to try and squeeze every minute he can but I have to be in another building by 10am.  He’s not finished yet and hasn’t gotten to actual LINQ but did cover some of the foundation behind the scenes. In depth LINQ will be covered by many of the other sessions.

I’m off to “What is the Microsoft Cloud Platform?” by Woody Pewitt

Technorati Tags: