Seems related to StructureMap can't decide the default constructor when there are multiples with similar constructor parameters. In this case, it has
Database(string connectionStringName)
Database(string connectionStringName, string Provider)
....
Looks like this is slight better syntax?
x.For<IDatabase>().Use(() => new Database("DefaultDb"));