Is there a way to not break code if columns in a database change?
<p>Assume I have a declared a datatable and to this datatable I have assigned a result that gets returned from calling a stored procedure, so now, my datatable contains something like the following when accessing a row from it:</p>

<pre><code>string name = dr["firstname"];
int age = (int)dr["age"];
</code></pre>

<p>if firstname is changed to first_name and age is removed, the code will obviously break because now the schema is broken, so is there a way to always keep the schema in sync with the code automatically without manually doing it?  Is there some sort of meta description file that describes the columns in the database table and updates them accordingly?  Is this a case where LINQ can be helpful because of its strongly typed nature?</p>
