How do you measure the productivities with dependent injection and without dependency injection for a developer?
By doing this is also adding more run time errors than the compile time errors for example,
if someone type
I bet C# got no way to detect this is actually a type error or data type not exist.
What is wrong with hitting a database if you have a proper dev environment? In the real production environment you need to hit the database so it is not a bad idea to test with the real database than mocking this or faking that.