It's late, it's late, but not too late... (Fix for 1552: Seed with SQL Authentication and accessing ObjectContext)

Migrations uses DbContextInfo.CreateInstance to create the context instance which is then used for seeding. DbContextInfo works by creating an instance of the application's context and then setting configuration information onto to it--in this case the connection string to use. Later when the context instance is initialized (note that this is just context initialization, not database initialization) the supplied configuration is used for this initialization. This includes using the configured connection string.

The problem is when context initialization happens inside the application context's constructor. In this case the DbContextInfo configuration is not used because it has not been applied to the context yet, in turn because the context instance hasn't been fully constructed yet.

The fix is to record the association between a DbContextInfo and a context type before construction of a context instance. This record is then used to determine whether or not the context info needs to be used even if this happens while the context instance is being created. This is the same thing we were doing to suppress database initialization, so this has now been consolidated into one thing--initialization is suppressed whenever a context instance is associated.

The association is removed when the context is disposed. This caused problems for some Migrations tests since Migrations tests often don't dispose the context that they use. The tests have been updated so that any test that calls CreateInstance then disposes the returned context.
Merge branch 'release-6.0.0'
Updating nuspec forward links for rtm
Merge branch 'release-6.0.0'
This change corrects some of the assumptions that were made by the test framework regarding
using Sql Server vs. SqlAzure