title: Does Entity Framework support differing data types in the model?
body: <p>I am considering to use EF to access legacy SQL Server databases installed on our customers' systems.</p>
  
  <p>The problem is that the databases schemas are not 100% consistent: While they all have the same (relevant) tables and fields, some numeric fields might have different data types.</p>
  
  <p>As far as I can see, the types are "compatible" from an application point of view: E.g. a field containing small numbers might be a <code>smallint</code> on customer A's database, but an <code>int</code> on customer B's database, or a field containing a price might be a <code>decimal(10,2)</code> on A's database but a <code>float</code> on B's database (yes, that means that B might suffer from floating-point problems -- it's a legacy database after all).</p>
  
  <p>Since we are not the only ones accessing the databases, changing (and, thus, unifying) the schemas is not an option. Is Entity Framework able to cope with that (i.e., will it gracefully accept a <code>double</code> in the SQL Server table if the model definition claimed it's a <code>decimal(10,2)</code>) or will it crash horribly?</p>