Features
- Data Seeding: Enable for InMemory (#11474)
- Allow precision on type mappings with scale (#11439)
- Perf: make TypeMappingInfo a struct (#11424)
- Query: rewrite predicate with constanList.Any(e =>e == someProperty) to Contains (#11389)
- Consider making RelationalTypeMappingInfo concrete (#11363)
- Feature parity: Add IQueryTypeConfiguration (#11257)
- Consider renaming the Attributes package to Abstractions and moving other types there (#11170)
- Possible issue in RelationalTypeMappingExtensions.CloneWithFacetedName (#11167)
- Consider moving attributes to new Attributes package (#11144)
- Property expression exception for fluent api should be more explicit (#11135)
- EF migration MigrationBuilder.InsertData enables IDENTITY_INSERT when it is not needed. (#11115)
- ValueComparers, mappings and genericity (#11072)
- Reveng: custom naming of properties, dbset and entity? (#11056)
- Query: Make EF.Functions.DateDiff SqlServer specific (#11038)
- Using IQueryable.Contains() in an expression causes a memory leak (#11015)
- Update SQL Server and SQLite type mappings to not use fallbacks (#10987)
- Query: convert ExpressionEqualityComparer to a singleton (#10983)
- Benchmarks: Run EF Core dev benchmarks with netcoreapp2.1 runtime (#10972)
- Review log-levels for 2.1 logging (#10966)
- Exception when removing migration (#10921)
- Add events for entity state changes (#10895)
- For API review: Consider renaming fluent method SeedData() to HasData() or HasSeedData() (#10875)
- Update API test for fluent method chaining (#10863)
- Decide on which constructor to call by convention (#10852)
- Tools: Consolidate -Force and -Revert on Remove-Migration (#10781)
- Query: remove redundant ToList calls on top of correlated collections that get optimized (#10762)
- Query: we inject redundant MaterializeCollectionNavigation calls into some queries that take advantage of correlated collection optimizations (#10733)
- CompareString in VB Project will be evaluated locally (#10707)
- Add MaterializationContext parameter object (#10641)
- EF Core Drop Database Command runs the "ConfigureServices" method twice (#10636)
- Change parameter log formatting to not show DbType = String when it isn't (#10634)
- Question:Design Core(Rev Eng):Context Class: How to add namespace while generating Context class (#10629)
- CLI Tools: Convert to a Dotnet (global) Tool (#10554)
- Make IEntityEntryGraphIterator public (#10540)
- Sqlite: Translate DateTime.Millisecond (#10523)
- Implement lazy-loading of navigation properties (#10509)
- Allow a second type argument AddDbContext to support inheritance (#10451)
- Add logging event for client-side cascade delete (#10435)
- Update "More than twenty 'IServiceProvider'..." message to be more helpful (#10235)
- Mix of owned and normal entity types in hierarchy should cause validation error (#10200)
- Better SaveChanges exception messages for "conceptual nulls" (#10170)
- HasIndex does not work as expected (#10135)
- Better LINQ support for Microsoft.SqlServer.Types (#10109)
- DbSet.Find for null values (#10096)
- Query: Translate GroupBy constant value followed by aggregate as table aggregate (#9969)
- EF generates very unclear error message in case too generic key types in M:M relationship (#9817)
- Data type 'nvarchar' is not supported in this form should also say which property (#9761)
- Support change tracking of non-primitive types (#9753)
- Update DeleteBehavior.Restrict to not apply when navigations are changed (#9703)
- Improve exception for incorrect FK value (#9696)
- Re-consider how default values are reverse engineered (#9627)
- Throw better exception for .Set() (#9626)
- Consider simplifying roadmap page (#9615)
- Metadata: Implement IsFixedLength API (#9579)
- Query: Apply CompositePredicateExpressionVisitor to join predicates (#9395)
- Remotion Linq: Upgrade package to RTM version (#9311)
- efcore2 warns about default values for bool (#9291)
- Add generic overloads for relationship API with navigations passed as strings (#9191)
- Make warning as error exception more helpful (#9178)
- Expose ChangeTrackingStrategy on IEntityType and IMutableEntityType (#9087)
- Allow fields to be used for navigation 'properties' (#9059)
- Query: Filter out entities that are using table splitting with a derived type (#8973)
- Improve the conceptual null exception (#8365)
- Improve SaveChanges circular dependency exception (#8363)
- TrackGraph stop tracking if current State is not set, but setting state throw InvalidOperationException (#8226)
- Warn when runtime version newer than tools (#7065)
- Minor: if possible improve error message (add UK to message also) (#5944)
- Query: Allow EF.Property to be used for navigations. (#4834)
- Support specifying a default value for a column corresponding to an enum model property (#4081)
- Support for database enums (#3620)
- Reverse Engineer: Allow reading connection strings from configuration (#2464)
- Logging: add to Change Tracker (#221)
Bugs Fixed
- InvalidOperationException when use enum as discriminator (#11454)
- Query Types don't work with compiled queries (#11413)
- Query: compilation error for queries streaming correlated collection with FirstOrDefault (#11403)
- Benchmarks scenarios broken (#11399)
- Oracle: Order_by_entity_qsre_composite_key broken (#11377)
- Analyzers: Remove DbCommand.CommandText analyzer (#11371)
- Owned entity type use one type multiple times - add-migration will always find differences and therefore add the same migration again (#11369)
- ValueComparer for keys isn't applied consistently (#11362)
- .Ignore() throws NullReferenceException (#11354)
- 2.1 preview: System.InvalidOperationException: 'The service property [...] of type [...] cannot be added to the entity type [...] because service property [...] of the same type already exists on entity type [...].' (#11351)
- Perf: Logging infra allocates even when no logging enabled. (#11331)
- Query: invalid SQL for queries projecting a single column from a subquery using Take and FirstOrDefault (#11326)
- DbContextPooling does not throw exception when trying to get model from disposed context (#11309)
- Failures on Benchmarks (#11304)
- Query: Join/GroupJoin where key selectors are qsres or navigations fails during compilation (#11288)
- Predicate (date == DateTime.MaxValue) always returns false (EF 2.1-preview1-final) (#11262)
- Query: compilation error for queries with join where the inner key is navigation (#11245)
- select new {} in a selectmany fails (#11219)
- 'AS' in group by statement when an 'AS' is present in the select statement (#11218)
- One-to-One relationships generates differently based on entity names (#11213)
- EF 2.1 Value Conversion fails with custom type (#11199)
- Investigate perf regressions from 2.0 related to model building (#11196)
- Investigate perf regressions from 2.0 related to update pipeline (#11195)
- Query: groupby doesn't get translated if the result is projected into DTO (#11176)
- Double pipe or clauses not working for subqueries (#11168)
- Entity Framework paging, that is to say Skip/Take, doesn't work for large tables (#11166)
- "No coercion operator is defined" with dynamically generated selection expression (#11165)
- Correlated subquery (N+1 fix) missing ORDER BY clause inside nested query (#11163)
- Query: Incorrect warning about group by client eval (#11157)
- Owned type - property could not be mapped - string is not a supported primitive type (#11152)
- Validate FK on PK in derived type during model validation, not building (#11141)
- BoolToStringConverter does not use non-default values when seeding (#11131)
- Enum property stored as string, filter queries do not work (#11127)
- Value converters on key properties are propagated to FK properties (#11117)
- Tracking query on base type when derived type has shadow properties throws (#11104)
- Migrations generates invalid code for data seeding (#11097)
- 2.1 preview 1 - Unable to set up cascade delete when using TPH (#11094)
- EF Core 2.1 Preview 1 SeedData method throws The seed entity for entity type 'XXX' cannot be added because the was no value provided for the required property 'Discriminator'. (#11083)
- Occured ArgumentException about language paramter when scaffolding database (#11075)
- No suitable constructor found for entity type 'string' (#11074)
- EF Core OnModelCreating Console.WriteLine causes PMC to hang (#11066)
- Provide more details for "An item with the same key has already been added" exception (#11062)
- Query: include over SelectMany with reference navigation projection doesn't work (#11053)
- Query: DbSet may not be EntityQueryable (#11043)
- Query comparisons for big decimals fail on Sqlite (#11036)
- Query: GroupJoin with a complex join key fails during compilation (#11022)
- ForeignKeyConvention doesnt run when dependent entity type PK is changed (#11019)
- Configuring a custom type mapper for a generated column breaks value generation (#11010)
- ArgumentNullException with Concat (#11007)
- Query: accessing property on a required navigation defined on a derived type produces INNER JOIN (#10988)
- Query: Include Collection group by reference throws exception (#10974)
- Test: Can_use_with_fanned_relationships has incorrect assertion (#10971)
- Migrations with multiple startup projects (#10967)
- Update pipeline doesn't enforce all the identifying relationships in table splitting (#10962)
- Enum property stored as string,unable to specify length (#10944)
- Problematic interaction between MigrationsSqlGenerator and new type mapper (#10942)
- EntityFrameworkCore build fails with error "KRB5005: Symbols were set to be included but the project was built using DebugType = full" (#10938)
- Problem with foreign key configuration, (#10918)
- Annotations on the first owned entity type reference are lost (#10911)
- Query: GroupBy with Where produces invalid SQL (#10870)
- Operator
Contains
is translated in EF Core 1.x, but throws exception in 2.0. (#10868) - Update transient error message (#10856)
- Query: correlated collection optimization is broken for queries containing top level First/FirstOrDefault/Single/SingleOrDefault (#10813)
- Query: Translate string.Equals(a, b) (#10807)
- DI issue when provider doesn't define an IRelationalTypeMapper (#10803)
- Off-by-one applying RelationalMaxIdentifierLengthConvention? (#10796)
- Query: OrderBy().Take().Last() gives incorrect results (#10794)
- Model Query Filter generates incorrect SQL (#10785)
- Keep the underlying Builder in ReferenceOwnershipBuilder up-to-date (#10780)
- Migration Snapshot enum/valueconverter issue (#10748)
- Get the values of Group by using MyGroup.ToList() Throw exception, Must select First (#10716)
- Inheritance validation should allow setting base to null (#10715)
- Support ArrayIndex expressions in where clause (#10711)
- Metadata: Unique Index on derived type does not exclude nulls (#10659)
- Incorrect translation of date substraction. (#10656)
- Make ILazyLoader disposable (#10640)
- Update BuiltInDataType tests to ensure batching case is covered (#10633)
- Query: compilation error for queries accessing null-protected property inside subquery produced by All/Any result operator (#10627)
- dropping many (all?) foreign keys after update from 1.x to 2.x (#10617)
- Rebuilding relationships causes annotations on navigations to be lost (#10612)
- NRE thrown during add-migration if primary key is null. (#10571)
- Failing to sort owned types, when updating different combinations of fields of both parent and owned type at the same time (#10568)
Specified cast not valid
when using min or max after decimal to float cast (#10537)- “Parameter count mismatch” error during adding Entity Framework migration under .NET Core 2.0 (#10504)
- Inconsistent SQL queries in inheritance + FromSql scenarios (#10501)
- Warn for LastOrDefault without OrderBy (#10493)
- Query: Include on derived throws in async (#10440)
- SQL Server Migrations: CreateIndex for Memory-Optimized Table ignores schema (#10402)
- ToDictionary won't work, if using with navigation property (#10312)
- Query: QueryFilter with EntityTypeConfiguration are failing to inject current context values (#10301)
- Query: FirstOrDefault on empty collection returning a value type tries to return null instead of default (#10294)
- Invalid cast when using inline "if" returning an enum (#10293)
- EF Core does not cast from Nullable to underlying type (#10284)
- HasQueryFilter generates incorrect sql, causing "multi-part identifier could not be bound" (#10283)
- Query: ToList in projection for async query hangs if rooted at context (#10188)
- When utilizing shadow properties for multiple level relationships length metadata can be lost (#10185)
- Temporary Key issue when inserting Many To Many Relationship and Self Reference (#10142)
- Filtered child entities in projection are not tracked (#10124)
- No value provided for required parameter '_outer_Id'. v2.0.0 (#10122)
- Query: Using DbSet property in QueryFilter throws exception (#10117)
- Bug in MigrationBuilder (#10115)
- Query: Select.Include.OrderBy ignores the include (#10101)
- Throw on table splitting with multiple roots (#10077)
- Script output ends up in unexpected directory (#10036)
- Script-Migration -Idempotent when default schema contains dot (#9993)
- FileLoadException when migrating with incorrect startup project and and project (#9984)
- Adding multiple entities to a join table with a composite key throws (#9962)
- Query: compilation exception for query projecting negated conditional expression inside anonymous type (#9944)
- nullreference when during add-migration when migration implementations lack migration attribute (#9920)
- Incrorrect EntityState in ChangeTracker when assigning RowVersion directly (#9856)
- Owned types throw when setting the primary key constraint name (#9771)
- Max causes QueryClientEvaluationWarning (#9726)
- Properties with private setters in base class are not saved (#9705)
- Missing thread safety in ModelSource._models (#9695)
- Setting a navigation property to null and then back to a value doesn't update the FK when using ChangingAndChangedNotificationsWithOriginalValues (#9693)
- Configuring Property with a string cannot discover private fields from base class (#9603)
- Insert entity in non existing table throws NullException (#9599)
- Relational: UDF calls are generated unquoted (#9558)
- Conventions shouldn't try to set the base type for owned types (#9536)
- EF Core joining on the wrong field when using GroupBy (#9481)
- Metadata: Exception is not thrown for unmapped navigation property (#9396)
- FirstWithoutOrderByAndFilterWarning logged when querying byte[] property (#9372)
- Include and ThenInclude not working after groupBy with OrderBy (#9336)
- Mapping: conventions try to use primary key as the FK of a required relationship in some scenarios, which can't work since the PK is not nullable (#9310)
- Projecting bool property through optional nav access with other conditions throws ArgumentException (#9275)
- The convention invocations have reached the recursion limit. (#9265)
- Metadata: InverseProperty fails to resolve ambiguity while use KeyAttribute on PK (#9180)
- Subquery.Any(predicateParameter) throws exception (#8019)
- Query: Compiler error when calling Contains on a collection nav (#7687)
- Query: Allow use of AsQueryable method (#6132)
- Migrations Design: Compile error with enum discriminator (#5529)