Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I disable model compatibility checking in Entity Framework 4.3?

I'm working with EF 4.3 and have a context which needs to talk to a database which was generated by another library using EF Code First 4.3. The context is throwing an exception stating

The model backing the 'Context' context has changed since the database was created. Consider using Code First Migrations to update the database

In EF 4.1 this could be diabled by removing the IncludeMetadataConvention from the ModelBuilder. However, in 4.3 this convention has been deprecated and no longer has an effect.

How can I have an EF 4.3 context talk to an EF 4.3-generated database built by a different context? The only option I've found (which is far from ideal) is to delete the metadata table, thereby causing both contexts to assume the database was not build by EF.

PS: I know this scenario is likely to raise questions about why I need to do this; I know it's far from ideal, but rest assured it's a problem I need to solve and have limited options to work with laterally.

like image 958
STW Avatar asked May 16 '12 17:05

STW


1 Answers

Setting the initializer to null will skip the model compatibility check.

Database.SetInitializer<MyContext>(null); 
like image 123
bricelam Avatar answered Oct 10 '22 10:10

bricelam