Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
I haven't been very good lately about taking time to learn the new technologies, so I'm taking today off to learn Visual Studio 2008. I've found over the years the best way to learn a new technology is to create a demo application. I'm going to be creating a restaurant reservation / order system, using a model proposed by Barry Williams at Database Answers. I hope to post progress as things go along.
I'm really hoping to get into Linq, so I'm going to architect the system using the traditional 3 tiers, DB, Mid Tier and Presentation. The Mid Tier should contain all the linq stuff, exposing the objects via a WCF Service. I'll start with a smart client presentation, and perhaps add a web facade later today.
I'm still waiting for the download to finish; probably another 2 hours. So right now I'm going to read all I can about C# 3.0 and Linq. An article I found very informative is the Linq to SQL overview at MSDN. The nagging issue I'm trying to resolve is, "How does Linq make life easier for the Mid Tier developer"? It looks real easy if you don't mind exposing your data model to service consumers. But if you want to abstract the data model a bit, it looks like end up writing some code because you lose a lot of convenience features.