return new DynamicModel(ConfigurationManager.ConnectionStrings.Name);
The above line makes a bad assumption, that you're using the second connection string defined for the application. This is usually true (First is defined in machine.config as LocalSqlServer, second is usually the one defined in your local app.config file). However, if the app has more than 1 connection string, or indeed if 2 are defined in machine.config then this breaks horribly.
It's a convenience for when people have a small app and don't specify it. Yes it can break horribly, I'm trusting the user to understand the difference.