I have been playing around with LINQ the last few days, and I must say that I am very impressed. But, as always, Microsoft seems to find a way to get me down, just when I am happy with one of their products. The latest gripe is that, for some reason, LINQ seems to hate 'newsequentialid()'. Since this is the default for my Primary Key column, the INSERT statements fail, since it's always just sends Guid.Empty ('00000000-0000-0000-0000-000000000000'). This is a major disappointment, because newsequentialid() is one of the neat new things in Microsoft SQL Server 2005 that allows decent performance for tables with a Guid as it's Primary Key data type.
Before I forget: for all of you searching for the .Add function, based on a lot of video's about LINQ that are floating around on the web; the .Add() method has been renamed to .InsertOnSubmit(). It took me about two hours to find this post and learn the aforemetioned, so I hope to save you the trouble.
Update:
While trying to find a solution for the 'newsequentialid()' problem, I was trying to see if making the type nullable would help, but since this messed up relationships, I was looking at the column properties in the LINQ '.dbml designer' and saw a property called 'Auto Generated Value'. The description reads: "Value is auto-generated in database on insert.", which seems to be exactly what currently isn't working. After switching this property for all Primary Key's that have 'newsequentialid()' in my LINQ project, the 'newsequentialid()' works like a charm.
The reason why Microsoft doesn't set this property automatically in Visual Studio 2008 is not quite clear to me, it seems that they would be able to check the default value for a column without a problem and set the related property accordingly.

Just found out I hold the #1 page for the keywords 'Linq newsequentialid', which is a first for me :)