My first impressions were quite good, create a model, provide the data context set the scaffolding to true and there you have an application. It all seems very easy, but then as with most things you try and do something that it doesn't really want to do and things become difficult.
As I've mentioned before some of the difficulties are related to Linq-to-Sql not doing what its supposed to but some of it is related to dynamic data.
Much like what I see as failings with Linq-to-Sql dynamic data seems to offer the ability to create UI with no or very little custom coding suggesting that if you want to change the standard behaviour you simply need to provide an attribute and you can change the way that the 'application' is generated.
Unfortunately this isn't the case, there are some attributes you can use such as [DisplayName] but at present these are few and far between.
As I get deeper into dynamic data I'm going to post what I've found, what you can do and what you can't.