title: What's the best way to set up data access for an ASP.NET MVC project?
body: <p>I am starting a new ASP.NET MVC project to learn with, and am wondering what's the optimal way to set up the project(s) to connect to a SQL server for the data.  For example lets pretend we have a Product table and a product object I want to use to populate data in my view.</p>
  
  <p>I know somewhere in here I should have an interface that gets implemented, etc but I can't wrap my mind around it today  :-(</p>
  
  <p>EDIT:   Right now (ie: the current, poorly coded version of this app) I am just using plain old SQL server(2000 even) using only stored procedures for data access, but I would not be adverse to adding in an extra layer of flexability for using linq to sql or something.</p>
  
  <p>EDIT #2:  One thing I wanted to add was this:  I will be writing this against a V1 of the database, and I will need to be able to let our DBA re-work the database and give me a V2 later, so it would be nice to only really have to change a few small things that are not provided via the database now that will be later.  Rather than having to re-write a whole new DAL.</p>