Skip to content

Releases: dotnet/efcore

2.0.0-preview2

28 Jun 06:29
Compare
Choose a tag to compare
2.0.0-preview2 Pre-release
Pre-release

Features

  • Pragma out obsolete warnings in generated code (#8703)
  • Consider Removing HasNonDefaultUnicode and HasNonDefaultSize (#8668)
  • Simplification of cascade delete fluent API (#8654)
  • Exists check logs error "An error occurred using the connection..." (#8651)
  • Request: A DeleteBehavior that does absolutely nothing on delete and on SaveChanges (#8633)
  • Consider moving DeleteBehavior enum to core namespace (#8632)
  • MigrationsScaffolder is a public type registered in D.I. with no contract or dependency objects (#8623)
  • Replace RelationalTypeMapping.GenerateLiteral(DbType) (#8609)
  • Query: reuse include pipeline for queries projecting uncomposed collection navigations (#8584)
  • Update ExecuteSqlCommand methods to use string interpolation (#8557)
  • API Review: Make DbContextFactoryOptions obsolete (#8553)
  • RevEng: Prefer [StringLength] over [MaxLength] on string properties (#8468)
  • Make query parameter format for logging consistent (#8456)
  • Tools: Block .NET Standard startup projects (#8452)
  • Update: Relational: Potential optimization in MERGE SQL batching path? (#8415)
  • Throw error on ignored includes (#8398)
  • Consider throwing when a DIET instance is shared (#8387)
  • Query: perform null protection pattern (a != null ? a.Name : null) to NullConditionalExpression (a?.Name) translation on QueryModel level (#8385)
  • EnableRetryOnFailure defaults don't cover SQL Azure recommended retry period (#8275)
  • Consider removing UseSqlServerIdentityColumn and ForSqlServerUseSequenceHiLo (#8271)
  • Design: Discover DbContext types using Program.BuildWebHost() (#8164)
  • Add very simple "type mappings" for non-relational providers (#8010)
  • Feature request: add instanceId (Guid) to RelationalDataReader for DiagnosticSource (#8007)
  • Investigate using IConfiguration in OnConfiguring (#7916)
  • Trace connection open and close in RelationalConnection (#7479)
  • Self-contained type mappings (#7434)
  • Add a version of the ExecuteInTransaction() that supports specifying the isolation level (#7431)
  • Provide access to referencing entity in TrackGraph (#7389)
  • Query: Add support for User Defined Scalar Functions. (#7368)
  • Better way to get application services from within a derived DbContext instance (#7185)
  • Warn for non-nullable store-generated bool properties (#7163)
  • Query: Translate String.CompareTo() (#7095)
  • Xamarin support (#4269)
  • Complex types and/or value objects (#246)

Bugs Fixed

  • Query: Projecting second level collection navigation using First() generates invalid SQL (#8823)
  • Migrations: Ignore RelationalAnnotationNames.TypeMapping while generating model snapshot file (#8665)
  • Remove SqlServer TypeMapping for CLR type char (#8656)
  • HasQueryFilter supporting any other type than string? (#8630)
  • Migrations: InsertData() causes error "Table 'table_name' does not have the identity property. Cannot perform SET operation." (#8618)
  • HasFilter generating migrations with string quotes missing (#8575)
  • Design: Exception using Program.BuildWebHost (#8547)
  • Tools: Default to Development environment (#8514)
  • Query: SubQueryMemberPushDown optimization is too aggressive, which may lead to invalid sql or data corruption (#8505)
  • non latin characters in migration name (#8483)
  • DbContext.GetInfrastructure() method missing in 2.0 preview? (#8440)
  • Query: ProjectStar table is set incorrectly in JoinEliminator (#8412)
  • CLI Tools: --configuration switch does not work (#8399)
  • Query: null propagation optimization doesn't work for navigations with composite keys (#8397)
  • Query: EntityEqualityRewritingExpressionVisitor doesn't work with object.Equals method (#8366)
  • Query: comparing collection navigations to null or to each other doesn't work (#8364)
  • Tools: Improve message "Could not load assembly 'EFCore.Design'." (#8354)
  • Argument types don't match for queries projecting conditional expression with anonymous type result (#8315)
  • Query: Select with new DTO taking entity in constructor argument throws ArgumentException (#8282)
  • Null semantics are not carried from subquery (#8254)
  • Query: navigation rewrite fails for queries with navigation inside a subquery inside join inner key selector (#8216)
  • Hidden columns are scaffolded (#8192)
  • PMC Tools: Exception calling "Substring" (#8163)
  • CLI Tools: Hide build success output (#8048)
  • Query: we should propagate optional navigations thru nav rewrite, if the initial optional navigation was created using SelectMany-GroupJoin-DefaultIfEmpty (#7975)
  • GroupBy needs a ToList before to work (#7943)
  • Query: compilation error for complex query with SelectMany, optional navigation, subquery and string concat in projection (#7921)
  • Inheritance does not discover Id as PK by conventions (#7885)
  • ExecutionStrategyExtensions.ExecuteInTransactionAsync null reference exception (#7795)
  • Query: NullConditional is not added to some complex queries with optional navigation and collection with subquery (#7787)
  • Query : Missing null propagation logic for some complex queries with manually created GroupJoin-SelectMany-DefaultIfEmpty (#7761)
  • Throw if the FK properties set by the convention are ambiguous in the hierarchy (#7736)
  • PMC Tools: Error when project opened from a file share (#7540)
  • PMC Tools: Error when using Docker tools (#7439)
  • DbSet<>.Local InvalidOperationException with ListBox.ItemsSource (#7397)
  • ModelValidator: Do not warn for explicitly configured shadow keys (#7238)
  • ConventionSet API XML Document Error (#7177)
  • ModelBuilder: Do not silently remove key when a property is made optional (#6919)
  • ExecutionStrategy ctor argument - maxRetryCount has incorrect documentation (#6828)
  • Migrations: Parameterless DbContext constructor is used in preference to overload taking DbContextOpti...
Read more

2.0.0-preview1

10 May 04:22
Compare
Choose a tag to compare
2.0.0-preview1 Pre-release
Pre-release

Features

  • Query: Anonymous type projections should use member names as column aliases wherever possible (#8204)
  • Migrations: Specify NULL columns explicitly in DDL (#8146)
  • Query: Lift subquery with nested orderby (#8054)
  • Query: Implement "Like" function in core (#8004)
  • Query: Prevent client evaluation when subquery returning entity is compared to null (#7915)
  • Query: Improve SQL for queries with left join that generate subqueries due to discriminator predicate (#7689)
  • Infrastructure: Allow custom SQLite builds (winsqlite3, SQLCipher, etc.) (#7667)
  • Query: Remove redundant compilations of subquery models when processing MainFromClause, AdditionalFromClause and Join/GroupJoin clauses (#7647)
  • Query: Flatten out subquery models at query optimizer (#7613)
  • Query: Apply optimizations to composite predicates in all parts of the query (#7608)
  • Query: Add missing translators for Math functions in SqlServer provider (#7601)
  • Query: Prevent client evaluation if query modifiers precede condition (#7560)
  • Infrastructure: Avoid reference counting for open and close in SQLite provider (#7527)
  • DbContext: Require name for "persistent" in-memory database and add explicit API for creating transient database (#7482)
  • Infrastructure: Add parameter objects and service rewriting code to avoid breaking base class D.I. constructors in patch/point releases (#7465)
  • Infrastructure: Allow only one database provider per service provider (#7457)
  • Query: Improved performance for String.StartsWith() filters (#7429)
  • Migrations: CLI Tools: Honor ASPNETCORE_ENVIRONMENT (#7353)
  • Query: Translate Distinct to SQL when applied after custom projection (#7234)
  • Infrastructure: Improve experiece for filtering log data (#7217)
  • Model configuration: Set ValueGenerated for store-generated properties using a convention (#7205)
  • Query: Translate Average to server side (#7190)
  • Migrations: Make generated code play well with StyleCop (#7189)
  • Query: Translate querys with filter on sub-query to a single SQL statement (#7122)
  • Infrastructure: Trace when query is done. This is needed in order to get SelectRows statistics. (#7105)
  • Query: Prevent client evaluation when using certain result operators in complex query (#7096)
  • Model configuration: Make filtered indexes play nice with other providers (#7087)
  • Infrastructure: Improve Exception message: Unable to create or track an entity of type 'abc' because it has a null primary or alternate key value. (#7001)
  • Infrastructure: Make RelationalFullAnnotationNames public (#6993)
  • DbContext: Stop special-casing the root entity on Attach (#6990)
  • DbContext: Throw on AddDbContext with options lambda when context has no options ctor (#6963)
  • Infrastructure: Convert more services to be singletons (#6924)
  • Performance: Implement DbContext pooling for high scale scenarios (#6923)
  • Query: Allow providers to replace and extend SqlTranslatingExpressionVisitor (#6888)
  • Query: Avoid adding unnecessary sort columns in query with projection and optional navigation properties (#6861)
  • Model configuration: Ability to override IS NOT NULL clauses of an index (#6794)
  • Query: Translate DateTimeOffset.Date (#6778)
  • Migrations: Handle GO statements in SQL Server (#6747)
  • Query: Simplify aliases for complex projection if being used in order by clause (#6703)
  • Reverse engineering: Add IsConfigured check to avoid using hard-coded connection when previously configured (#6686)
  • SaveChanges: Database.SetCommandTimeout overload that accepts a TimeSpan argument (#6614)
  • Query: Prevent client evaluation and N+1 queries when calling result operators before other operators (#6611)
  • Query: Issue warning for queries with paging operations (First, Take, Skip) without OrderBy (#6576)
  • Query: Throw better exception when reading incorrect data for relational providers (#6471)
  • Query: Ix-Async dependency updated to 3.1 (#6328)
  • Query: Using Include and referencing a navigation property will not result in repeated joins (#6206)
  • Migrations: SQL Server Filtered Indexes (#5817)
  • Query: Model-level filters for queries (#5774)
  • Reverse Engineering: Enable pluralization/singularization when scaffolding a model from a database (#3060)
  • Query: Provide EF.Functions to define methods that correspond to standard SQL operations (#2850)
  • Model configuration: Entity type configuration can be factored into a class (#2805)

Bugs Fixed

  • Migrations: Exception thrown with model containing TPH in certain cases: The entity type should derive from to reflect the hierarchy of the corresponding CLR types. (#8423)
  • DbContext: Owned entity types are incorrectly identified as tracked when clr types contain Equals implementation (#8284)
  • Query: The generated identifiers in multi level queries are too long for SQLServer (#8255)
  • Query: projecting stringColumn.Length may cause invalid cast exception, if the stringColumn is of type (n)varchar(max) on SqlServer (#8176)
  • EntityType marked with NotMapped is still discovered by Conventions (#8151)
  • Query: ProjectionShaper ignores the offset while Shaping (#8095)
  • Query: Order by with condition evaluating to true/false produces invalid SQL (#8092)
  • Reverse engineering: Scaffold-DbContext creates invalid code for default constraints with line breaks (#8077)
  • Query: Navigation rewrite: EF.Property navigations not rewritten correctly (#8068)
  • Query: The binary operator Equal is not defined for the types 'System.Nullable`1[System.Boolean]' and 'System.Boolean'. (#8065)
  • Query: Make our reflection info selection logic deterministic (#8060)
  • Query: QuerySourceTracingExpressionVisitor doesn't always prune EF.Property expressions (#8053)
  • Query: Inner Join not generated when using custom projections or wrong alias when omitting custom projections (#8043)
  • Query: SqlServerStringReplaceTranslator fails with Sequence contains more than one matching element on the latest runtime (#8021)
  • Query: Unable to cast object of type when using Include in projection (#8005)
  • Reverse engineering: Scaffold-DbContext can generate IsRequired() on nullable unique column if it is also an FK ([#7956](https://github.com/aspn...
Read more

1.1.2

01 Jun 19:57
Compare
Choose a tag to compare

Features

  • Port #7710 to 1.1.2 - Tools: Allow script/update etc. to run when context is not in target project, but can be found in services (#7711)

Bugs Fixed

  • Tools: Port #7889 to 1.1.1 (#8142)
  • QueryCache: Memory leak when using dbContext.Set<> in subquery (#8063)
  • EF Core 1.1.1 has introduced a new ArgumentException for complex queries with with subqueries, if the same subquery is present multiple times in the query model (#7944)
  • Port #7769 (missed reflection equality fixes) to patch? (#7899)
  • Invalid query produced when projecting DTO containing subquery that returns a single element (#7714)
  • Metadata: Stackoverflow on unambiguous model with InverseProperty on navigations on both directions (#7698)
  • Scaffold-DbContext does not emit warning messages for failed entity generation (#7315)
  • SaveChanges closes connection opened by user using EF API (#6968)

1.0.4

01 Jun 19:55
Compare
Choose a tag to compare

Features

  • Design: Allow script/update etc. to run when context is not in target project, but can be found in services (#7710)

Bugs Fixed

  • Could not load System.Diagnostics.DiagnosticSource (#7889)

1.1.1

07 Mar 18:59
Compare
Choose a tag to compare

Bugs Fixed

  • Query : SqlServerMathRoundTranslator wrong argument index results in returning incorrect data or throwing InvalidCastException (#7600)
  • Fix reflection object equality comparisons. (#7591)
  • Query : client-side result operators may cause extensive client-side evaluation for queries with GroupJoins (and/or optional navigations) in a subquery (#7476)
  • Some result operators (e.g. Distinct) after selecting a property generate incorrect SQL if query also contains optional navigation or explicit GroupJoin call (#7348)
  • EntityEntry.OriginalValues APIs incorrectly return current values (#7332)
  • Child entities not persisting when using AddRangeAsync and SaveChangesAsync (#7298)
  • Queries fail after upgrading to EF Core 1.1 (#7293)
  • Query compilation error or data corruption for queries with GroupJoin wrapped in a subquery when the subset of columns is being projected (#7290)
  • Query : Compilation error for queries with optional navigation, client side method and parameter (#7289)
  • InverseProperty attribute doesn't always resolve navigation property ambiguity (#7266)
  • Infinite loop in compiled query cache (#7230)
  • EF Core 1.1 IsModified is not working (#7227)
  • EFCore 1.1 doesn't use an existing property for the FK if it's part of the primary key (#7127)
  • ThenInclude Method not found (#7116)
  • DB query is executed with the parameters of the previous query (#7115)
  • KeyAttribute specified on multiple properties creates an incorrect model (#7084)
  • Uniquify index names (#7082)
  • The binary operator Equal is not defined for the types 'System.Nullable`1[System.Boolean]' and 'System.Boolean' error for queries with complex predicates involving nullable boolean properties (#7061)
  • StackOverflowException with InversePropertyAttribute on 1.1.0 (#7057)
  • EF Core 1.1 .ToString() translation causes exception (#7048)
  • v1.1 - The multi-part identifier "x.Id" could not be bound (#7033)
  • [DatabaseGenerated(DatabaseGeneratedOption.Identity)] incorrectly configures the column as SqlServer identity (#7010)
  • Materialization uses incorrect column value with multiple derived types and shadow properties (#6986)
  • Error when using async queries involving result operators and projecting a collection (N+1 queries scenario) (#6534)

1.1.0

16 Nov 16:26
Compare
Choose a tag to compare

The items listed below were completed after 1.1.0-preview1. The 1.1.0 release also includes the items listed for the 1.1.0-preview1 release.

Features

  • Allow navigation backing fields to be assign-compatible (#6893)

Bugs Fixed

  • Breaking changes in 1.1 affecting SapientGuardian MySQL provider (#6926)
  • Method not found: 'System.String Microsoft.EntityFrameworkCore.Metadata.Internal.EntityTypeExtensions.DisplayName(Microsoft.EntityFrameworkCore.Metadata.IEntityType)'. (#6914)
  • Misspelling in Find() Intellisense (#6876)
  • Don't remove unique indexes covered by other unique indexes (#6875)
  • NullReferenceException in ForeignKeyPropertyDiscoveryConvention.Apply (#6867)
  • Query: Track proper table alias for star projection (#6785)
  • LINQ Any() statement generates invalid SQL (#6710)
  • Commands: Use MSBuild to get project metadata (#6139)

1.0.2

13 Dec 17:29
Compare
Choose a tag to compare

Features

  • Tools: Better ConfigureDesignTimeServices entry point (#5617)

Bugs Fixed

  • Query: Entities not being released due to leak in query caching (#6737)
  • Query: Regression in 1.0.1 causes query with GroupBy on multiple keys to throw exception (#6620)
  • Query: Select with Ternary Operator/CASE-WHEN Server Side Evaluation (#6598)
  • Query: Connection is not closed after executing a query including a collection (#6581)
  • Query: Take() with Include() generates incorrect SQL (#6530)
  • Query: Include() for related collections are dropped when use Skip() (#6492)

1.1.0-preview1

25 Oct 15:51
Compare
Choose a tag to compare
1.1.0-preview1 Pre-release
Pre-release

Features

  • Make ExecutionStrategy more flexible (#6680)
  • Migrations: Detect renamed properties (#6582)
  • Memory-optimized table support for Sql Server (#6405)
  • Set current/original values directly from dictionary (#6368)
  • Support opting out of wrapping database operations in a transaction during SaveChanges() (#6339)
  • Make replacing internal EF services easier in the common case (#6306)
  • Expose way to get simple, human-readable, representation of the model for debugging (#6304)
  • Add string-based Property API that does not require a type (#6303)
  • Migrations: Top level APIs for All/Applied/Pending (#6110)
  • Top level API to mark a value as temporary. (#6028)
  • Add non-generic Find to context (#5998)
  • Allow navigation properties to be typed as IEnumerable so long as backed by ICollection (#5771)
  • Fluent API: Timestamp/RowVersion (#5554)
  • API to get current transaction (#5552)
  • Simple way to specify a value generator for a property (#5537)
  • Query: Support for String.CompareTo (#5369)
  • Implement new architecture of dotnet-ef and PowerShell commands for ASP.NET Core/.NET Core (#5334)
  • Make setting navigation property to modified delegate to setting fk property(s) modified (#5114)
  • Add QueryTracking behavior to DbContextOptionsBuilder (#5057)
  • Add a way to configure property materialization to not use the backing field (#4855)
  • Change Tracker: Enable using backing fields (#4461)
  • Migrations: verbose logging to include actual sql (#4401)
  • Enable model-level entity properties to be associated to a backing field but no property getter or setter (#4357)
  • String based Include (#3921)
  • Add DbSet.Local (or similar) (#3915)
  • Provide an IsUnicode API (#3420)
  • Support Enum.HasFlag in LINQ (#2852)
  • Commands: Drop Database (#2476)
  • RelationalTypeMapper: FK facet propagation (#2455)
  • Implement missing APIs from ChangeTacker/Entry (#2295)
  • Support AddAsync && AddRangeAsync (#2291)
  • Query: Include and ThenInclude should support collection navigation properties that are just IEnumerable (#1481)
  • Implement EntityEntry.Reload (#1203)
  • Implement relationship access methods on EntityEntry (#1201)
  • Implement CurrentValues, OriginalValues, and GetDatabaseValues on EntityEntry (#1200)
  • Implement ChangeTracker.HasChanges (#1198)
  • Generic string based HasForeignKey (#1172)
  • Migrations: Support x64 assemblies in package manager console commands (#1074)
  • Add Find method on DbSet (#797)
  • Commands: Assembly-based Command Line Interface (ef.exe) (#646)
  • Explicit loading support (#625)
  • Connection resiliency (#237)

Bugs Fixed

  • Review EventId names in Design assemblies (#6807)
  • Breaking changes to relational command methods may affect Npgsql provider (#6783)
  • Changes in EF Core 1.1 break Npgsql 1.0 provider (#6768)
  • Release Microsoft.EntityFrameworkCore.Design version 1.0.1 (#6742)
  • API docs for DbContext.Update etc. have incorrect info about state of related entities (#6739)
  • Revert 57b7656 once we pick up dotnet/core-setup#423 fix (#6727)
  • System.MissingMethodException : Method not found: 'System.Type Microsoft.EntityFrameworkCore.Metadata.IProperty.get_ClrType()' (#6709)
  • Provider specific ExpressionFragmentTranslators should override default ones (#6691)
  • SaveChanges() deadlocks in overlapping scenarios (#6666)
  • Add more error codes to the transient list (#6665)
  • Query: Subquery projection being selected incorrectly with required navigation filter (#6657)
  • Shadow property naming docs are incorrect (#6655)
  • Incorrect table alias name in translated sql (#6636)
  • Review provider breaking changes approach (#6622)
  • Stop registering ICollectionTypeFactory in D.I. (#6616)
  • Query :: we are adding redundant navigation joins to query in some cases, resulting in correct but unnecessarily complex queries (#6609)
  • "Operation is not valid due to the current state of the object" in some queries with navigation and paging (#6597)
  • Conditional Order By with collection include generates incorrect SQL (#6591)
  • Variable in a group JOIN clause added to ORDER BY as a SQL variable (#6580)
  • Including an inherited navigation throws IndexOutOfRangeException (#6570)
  • EF mismatches the inherited navigation property with the inverse key property (#6554)
  • Enable tools to work with 1.0 runtime (#6549)
  • Remove ability to force shadowness in core metadata (#6548)
  • Change IPropertyBase.DeclaringEntityType to DeclaringType (#6542)
  • The instance of entity type X cannot be tracked because another instance of this type with the same key is already being tracked (#6490)
  • Property 'Street' is not defined for type 'System.String' then sorting (#6478)
  • SQL Server update does not get values updated by trigger. (#6474)
  • No server-side handling of Contains (LIKE) on optional relationships (#6473)
  • Script-Migration fails for ASP.NET Core project on .NET Framework (#6465)
  • SQLite Migrations: Autoincrement annotation not prefixed (#6461)
  • Query :: during nav-rewrite we sometimes add null protection logic in places where it's not needed (#6453)
  • Query: Joining same entity twice with Skip Take using rownumberpaging throws exception (#6437)
  • Query :: NRE protection is not applied to manually created GroupJoin when trying to extract keys from collections potentially containing nulls (#6429)
  • EF trying to Insert into Identity field (#6426)
  • Incorrect SQL generated for multiple "from" clauses (#6390)
  • Migrations scaffolding error when renaming table and adding another table with FK to first table (#6340)
  • Query: Projected values can be the wrong type...
Read more

1.0.1

13 Sep 17:11
Compare
Choose a tag to compare

Bugs Fixed

  • Query: Second level expand not returning correct data (#6366)
  • Query: GroupJoin generates LEFT-JOIN and doesn't return all results (#6360)
  • ModelBuilder: Confusing exception when mismatched property types are used in a relationship (#6260)
  • Migrations: Using name with Script-Migration doesn't work (only ID) (#6228)
  • Migrations: Script-Migration doesn't revert -From migration (#6126)
  • Query: LoadAsync does not work (#6122)
  • SaveChanges: Wrong save order for one to many in combination with multi level inheritance (#6055)
  • Query: Wrong data in included navigation when using Skip() method (#5901)
  • ModelBuilder: Exception when KeyAttribute used with inheritance (#5898)
  • Migrations: RC2 to RTM Regression - Different properties with same name in derived classes cause exceptions (#5894)
  • Query: Error using a compare with a nullable boolean (#5877)
  • Query: Invalid SQL generated for Guid literals on SQLite (#5801)
  • Globalization: Potential bugs due to not specifying culture in string.Format() (#5765)
  • Query: Incorrect type mapping chosen for parameter - causes invalid SQL on Postgres (#5717)
  • Query: Exception when filter uses subquery and query is executed asynchronously (#5640)
  • Query: Exception when projecting navigation property value that could return null, but does not ("Argument Types do not match") (#5522)
  • Query: Threading issues cause NullReferenceException in SimpleNullableDependentKeyValueFactory (#5456)
  • Query: Exception when filtering on nullable boolean value (through navigation property) (#5454)
  • Query: Exception when using OrderBy and navigation ("A column has been specified more than once in the order by list") (#5427)
  • Query: Select after complex GroupJoin leads to unpredictable results (#4858)
  • Query: Join flattening fails for some cases involving SelectMany (#4539)
  • Query: Exception when using the "let" keyword and grouping (#3676)

1.0.0

27 Jun 14:54
Compare
Choose a tag to compare

Features

  • Migrations: Scaffold MaxLength (#5223)
  • Query: Translate string.IsNullOrEmpty (#5199)
  • Migrations PowerShell commands can't work for both EF6 and EF Core projects that are part of the same solution (#5145)
  • AddDbContext() is only useful if DbContext will be used in web requests in an ASP.NET application (#4988)
  • Use column/property facets for parameter types in Query Pipeline (#4608)
  • Query: Translate bitwise operations (#4255)
  • Use column/property facets for parameter types in Update Pipeline (#4134)
  • Identifier generation strategy in reverse engineering (#3987)
  • Support self-referencing overlapping FK/PK (since generated value does not need to be propagated) (#3376)
  • Allow named in-memory stores (#3253)
  • [Migrations] Implement SqlOperation.SuppressTransaction (#2558)
  • Metadata: Allow unbound navigation properties (#2140)
  • Handle INotifyCollectionChanged to enable full notification change tracking (#445)

Bugs Fixed

  • After second SaveChanges() EF loses added new dependents (#5734)
  • Sql Server datetime Data Type Mapped to datetime2 rather than datetime (#5715)
  • RC2: Regression with Parent/Child relationship (#5674)
  • Invalid SQL statement produced from null-coalescing a nullable boolean (#5652)
  • Build warning in GearsOfWarQueryTestBase (#5647)
  • Changing a property from modified to unchanged should reject changes (#5645)
  • Should MethodInfoExtensions be public in System.Reflection (#5634)
  • Move WarningsConfigurationBuilder to Infrastructure (#5633)
  • Include closes connection affecting ongoing transaction (#5628)
  • EF core RC2 One to One relationship (#5623)
  • Commands: Flow info into IDbContextFactory (#5615)
  • Metadata: While removing key we may add FK pointing to the key again (#5573)
  • Metadata: Exception in model validation if derived type is discovered before base type (#5547)
  • Include().ThenInclude and order by throws exception (#5519)
  • UWP: property 'Count' not found on type 'System.Collections.ArrayList' (#5517)
  • Relational Metadata: Default constraint names reference properties not columns (#5475)
  • Migration error with default double value (#5455)
  • RevEng: Do not generate ValueGenerated.Never for key columns with default values (#5428)
  • CLI Commands: dotnet ef for net451 throws misleading error on Linux (#5418)
  • Duplicate foreign key generated after RC1 -> RC2 migration (#5406)
  • Migrations: MigrationsSqlGenerator fails to find correct property for column (#5379)
  • modelBuilder.Entity(e => { }) can cause StackOverflowException in some cases (#5350)
  • Multiple one-to-one relations create duplicate foreign key field. (#5344)
  • CLI Commands: support loading startup from a separate project (#5311)
  • RevEng: DataAnnotations are not used for column types (#5289)
  • Error when Ordering by condition (#5095)
  • Commands: WACK binary analyzer fails when adding EF Core in UWP class library (#5069)
  • Query: Include & Order By subquery generates invalid query. (#5038)
  • DateTime.Parse is evaluated on client (#5035)
  • Query: Inheritance filter with "is" performs client evaluation (#5007)
  • Query caches property name on EF.Property closure (#4975)
  • [RevEng] Revisit whether we need to generate HasComputedValueSql() (#4944)
  • Metadata: make ClrType readonly (#4934)
  • Query: Use WHERE EXISTS for collection navigation Include (#4903)
  • Cannot use "any" in Linq-to-SQL (#4877)
  • Add: NullRef when adding graph with shadow keys (#4854)
  • FixUp: Collection properties incorrect (#4853)
  • ModelBuilder: Shadow property introduction doesn't work without calling Property() (#4843)
  • MaterializerFactory throws ArgumentNullException (#4839)
  • Adding a large number of entities to the DbContext is slow (#4831)
  • Alter column selecting and dropping wrong default constraint (#4821)
  • Commands: Don't terminate when Startup isn't constructible (#4710)
  • Cannot generate migration in UWP when using Win2D (#4683)
  • Migrations finds multiple DbContext when the containing assembly defines multiple localized resx resources (#4606)
  • Use existing DB with numeric(18,0) primary keys (#4594)
  • Sort out design time interaction with Startup in ASP.NET Core (#4546)
  • SqlServerDatabaseCreator: Exists() check stuck in long timeout loop (#4454)
  • ModelSnapshot is different after migration is added and then removed (#4382)
  • Problem with OriginalValue and INotifyPropertyChanging (#4375)
  • Null ref when attempting to back propagate non-existent results (#4347)
  • MaxLength not honored on proeprties in derived types (#4146)
  • Command "ef migrations add MyModel" crashes with StackOverflowException when virtual or static properties on class. (#4078)
  • Migrations: AddColumn, AddForeignKey, etc. use new table name before it's renamed (#3990)
  • Change tracking doesn't handle empty property name properly (#3625)
  • Throw before saving if temp values are present and won't be generated by the database (#3425)
  • RevEng: Split Relationship Fluent API Line in OnModelCreating() (#3394)
  • Update Pipeline: Use C# null semantics for WHERE clauses (concurrency tokens) (#3023)
  • Identity map must be updated when sidecar values are discarded after failed SaveChanges (#448)