I was thinking about how painful it is to create SharePoint queries using CAML and then realized that Linq would be an excellent tool to handle this. I found the LINQ to SharePoint project on Codeplex and realized someone had already built this capability. It looks like this product vastly helps reduce the complexity of doing a CAML query. Coupled with the ADO.NET Entity framework I think the possibilities for managing the SharePoint data access layer are getting easier and easier. One question to ask would be where within an n-tier infrastructure would LINQ queries be best placed. Obviously LINQ queries can function a lot like database queries but they can also act like a middle-tier business rules layer. If LINQ is coupled with a tradition O/R abstraction layer, LINQ can co-exist with O/R or even make it more efficient.
Another thing I thought of recently was whether PopFly can handle LINQ queries. Although mashups can be effectively chained together it would be very interesting if the results from one mashup could be queries through a LINQ query. If time permits I will be trying to use LINQ within a PopFly project developed in Visual Studio to see if a block can interrogate another block’s data using LINQ.