Roadshow
http://www.microsoft.com/uk/techroadshow2007/msdn/default.mspx
Daniel Moth Blog
http://www.danielmoth.com/Blog/
Mike Taulty Blog
http://mtaulty.com/communityserver/blogs/mike_taultys_blog/default.aspx
The road show was pretty good and LINQ was the most significant technology shown.
Part one was Language Enhancements and LINQ in the morning with Daniel Moth
and part two in the afternoon Advances in Data by Mike Taulty which was advanced LINQ (and other stuff).
LINQ
Allows you to run SQL type queries against Objects, Collections, XML, Datasources, Datasets.
You can even use joins between different datasources. This was not explained in depth.
One of the cool things is that you can make changes to db objects then abandon them before they are saved to the database.
Even cooler if you load data from a db table change it but not save to the db , run a different query using the same record from the first changed set of data. It will return the unsaved data from the first query rather than the db version. This might not be a good or a bad thing.
Another surprising thing was that he pulled the customers table with a filter on one customer from this he was able to pull other information from other tables (orders etc) based on the db relationships of the customer table. What happens to your build if you make small db schema changes I have no idea.
The examples where flat on NorthWind db with little Sproc involvement so working on large frameworks would also need a serious evaluation.
Pros
Very flexible, powerful and can cut out a lot of the dal work that is currently done.
Cons
Like all stuff, you can really write some truly awful code and it blurs the lines between tier modelling as you can effectively cut out the business logic or at least pull it into the presentation layer (you can do this now). There was a cringe moment where he was using a db connection dropped to the desktop (this is a major no no with me).
You also have to watch what you are doing as you can easier request 10million records form the db with careless code.
Running the same query; you can also iif you’re not careful run the same query over and over rather than locally can
How does it work with a truly normalised db with a strong sproc base was not made clear.
Warning
Don’t run this on as production machines it will break them. Although it says it won’t break them on the ms sites it will.
Summary
LINQ will be with us for ever or will be killed off in a few years and I’m not sure which. I see huge advantages but I also see a potential of developing a major mess of an application and some very interesting debugging.

http://mtaulty.com
2007-03-07 @ 23:56