Versioning logic made simpler (EF runtime)
Update to Miguel's change to make Installer build in Debug mode as well
Issue 2250: Upgrading EF 6.1.0 -> 6.1.1 Generates Different FK columns

Problem: The FKs on types without a navigation property are not fully configured (introduced in e801778)

Solution: Only skip FK configuration on types without a navigation property if the key order is not fully specified. This is impossible to accomplish with the default conventions.
Fix for Issue 2257 - just tidying up the code so the WIX refers to AssemblyPath45 (which is what is actually being passed in) rather than AssemblyPath (which could be either AssemblyPath45 or AssemblyPath40
Donkey Kong Whac-A-Mole... (More fixes for database initializers with different connection/access rights)

This changes adds further support for database initializers when used with:
- open connections
- no access to master
- no access to view all databases

Specifically, this allows model compatibility checking to work in these cases such that:
- Existing databases with up-to-date metadata (__MigrationHistory) will not cause failures
- Existing databases with out-of-date metadata will result in the correct exception thrown
- Existing databases with no metadata will result in no exception when using the default initializer and will get the correct no-metadata exception when using DropCreateDatabaseIfModelChanges

What is not covered here is the ability to drop and recreate databases in these cases since without master access this is not possible.
A delayed return - Add docs about return parameters not being assigned until results have been fully read.
Work Item: 1991
Updates to create Beta1 branch
Fix for #2103
EF repo changes to make master be the Beta2 branch
CodePlex #2252: Regression from 6.0.2 - generated SQL uses CROSS APPLY instead of INNER JOIN.
We defer FilterOpRules.Rule_FilterOverOuterApply to allow the NullSemantics phase to expand EQ operations. However we do not re-run ApplyOpRules.Rule_CrossApplyOverFilter which converts the CROSS APPLY to INNER JOIN when conditions are met.
The fix adds ApplyOpRules and JoinOpRules to the deferred transformation rules.
CodePlex #2252: Regression from 6.0.2 - generated SQL uses CROSS APPLY instead of INNER JOIN.
We defer FilterOpRules.Rule_FilterOverOuterApply to allow the NullSemantics phase to expand EQ operations. However we do not re-run ApplyOpRules.Rule_CrossApplyOverFilter which converts the CROSS APPLY to INNER JOIN when conditions are met.
The fix adds ApplyOpRules and JoinOpRules to the deferred transformation rules.
Leaner faster hot paths - fix for workitem #2258

A performance improvement to the model building code.
1) Transformed the LINQ expressions into verbose code.
2) Using the IList<T> interface to iterate with direct accessors to the collections.
3) Inverted the order of the boolean operations in the IF statement to call SequenceEqual() only when necessary.
4) Caching a dictionary of the column mappings so reduce the amount of traversals of the entity set mappings, entity type mappings, mapping fragments, and column mappings.

This fixes a performance regression introduced in EF 6.0.2 by changeset 86d31f93dbe29c2df1c8f1cb56ec1c1e75d31941 which fixes workitem #1776.

In the repro case we have, this fix made the model building process two orders of magnitude faster than it used to be after the regression was introduced, and twice as fast as EF5.

EF5: 304 seconds.

EF6 - after regression: 23944 seconds.

EF6 - after this fix: 147 seconds.

These changes affect functionality that is covered by test FK_name_uniquification_is_not_triggered_on_different_tables.

Tests passing 100%.
Leaner faster hot paths - fix for workitem #2258

A performance improvement to the model building code.
1) Transformed the LINQ expressions into verbose code.
2) Using the IList<T> interface to iterate with direct accessors to the collections.
3) Inverted the order of the boolean operations in the IF statement to call SequenceEqual() only when necessary.
4) Caching a dictionary of the column mappings so reduce the amount of traversals of the entity set mappings, entity type mappings, mapping fragments, and column mappings.

This fixes a performance regression introduced in EF 6.0.2 by changeset 86d31f93dbe29c2df1c8f1cb56ec1c1e75d31941 which fixes workitem #1776.

In the repro case we have, this fix made the model building process two orders of magnitude faster than it used to be after the regression was introduced, and twice as fast as EF5.

EF5: 304 seconds.

EF6 - after regression: 23944 seconds.

EF6 - after this fix: 147 seconds.

These changes affect functionality that is covered by test FK_name_uniquification_is_not_triggered_on_different_tables.

Tests passing 100%.

(cherry picked from commit b36023187e8d60c6aa635503c9d03ea00b1ff29e)
The Lost Relations

Fix for: SQL Server foreign keys can also reference UNIQUE
indexes/constraints, but the SSDL queries do not respect this
- issue #667 https://entityframework.codeplex.com/workitem/667
Simplification
Add EntityFramework.CodeTemplates packages

Work Item: 2241
Update the way the EntityFramework.CodeTemplates packages are built
Merge branch 'release-6.1.1-beta1'