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 DbContextOptions (#6826)
- Revisit public/abstract aspects of query context factories (#6713)
- Query: compilation error for queries projecting optional navigation, paging and another projecting of optional navigation (#6618)
- Scaffold annotations on DatabaseModel to the generated model (#6561)
- Query: Comparing collection navigation to NULL throws Null Exception (#5825)
- Update scaffolding to use ScaffoldingTypeMapper (#5410)
- Query :: some queries with Queryable.Cast don't work (#3736)