I have just started learning ASP.NET MVC 3 and I am deep trouble deciding the best way to connect to the database for my application. As my application database will be enhance in regular intervals so new tables, columns could be added/removed and may be some columns data type also be changed. So, for this scenarios which approach will be best for me so that my code will be manageable and these changes will not impact my code (ex: If I delete and re select table in EF, then new class will be generated and code related to the class will be impacted)? I have read that there are approaches like Code First, Database First, Entity Framework, Enterprise Library Data Access Block, SQL Connection calling stored procedure but I am not sure that which will work best in this scenario and may be I am missing the real flavor of ASP.NET MVC 3 to connect to database.
Edit1
I am not sure why it has been called to close but nevertheless I have no other option rather than this forum. I have found similar question which states the partial content of my question Code First vs Data First. The answer has just created a chaos in my mind regarding database first approach.