title: Using static methods to interface with a database - any potential problems?
body: <p>I'm looking at a class handling database access for an MVC3/.Net application. </p>
  
  <p>The class is static, and provides nice convenience methods for common DB queries - all sorts of twiddly stuff like "GetColumnBValueForColumnA()", as well as much more complex queries. It's nicely factored/optimized for the given solution and domain.</p>
  
  <p>Seeing the class as static, though, triggered some half forgotten memory about how this might be a bad idea (maybe in the context of multi-threading?), and I can't shake the feeling.</p>
  
  <p>Is it a good idea to keep this kind of class static, or should I be instantiating it for each database call?</p>