For my surprise, using the CreateDatabaseIfNotExists context initializer, the line
context.Database.Initialize(true)
doesn't throw an exception if the schema does not match my code first schema.
Is there a way to validate if the current database matches our schema before, for instance, we try to access a entity, whose table doesn't exist on the database anymore, and an exception is thrown by EF?