I've been curious about this from the first time I saw it, but never really liked the idea... maybe I just didn't see enough of it to fully understand why it is now in existence.

First, from what I've seen, it looks more than anything like a way to write database transaction commands inline with the VB code. Is this its' primary role? I can understand why the hobby programmer would like that, but as an ASP.NET developer with a SQL backend, I write all my database transactions in stored procedures in SQL itself, for the speed and for how clean it makes the code. This leaves me little motivation to use LINQ.

Second, why is the order of directives being thrown around? Every database system that I've worked with has had a similar syntax, some less similar than others, but they all have the same order of directives. Why does LINQ rearrange that?