Features
- Query: Sargability of string literals in combination with non-Unicode columns (#4686)
- CLI Commands: Support .NET Framework-only projects (#4577)
- Revisit using DbSet property names for table names by default (#4540)
- Change default graph behavior of Add/Attach/etc (#4424)
- ModelBuilder: Avoid "guessing" principal/dependent in 1:1 relationships (#4313)
- Reveng: entity class properties in the same order of table fields (#4062)
- Commands: .NET Core CLI Implementation (#3925)
- Better experience/support for migrations in class library (#3879)
- Reverse Enginer: Support type aliases (user-defined data types) (#3843)
- Commands: Look for ConfigureServices in Program (#3802)
- Query: Support in-memory processing of INTERSECT,CONCAT,EXCEPT,UNION (#3638)
- Make it easy to create a provider configured ModelBuilder (#3529)
- Scaffolding: reverse engineer sequences (#3510)
- Add a guard to prevent interleaving of async calls (#3291)
- Reverse Engineer: Can we just scaffold string properties for
xml
,hierarchyid
,geography
,geometry
, etc (#3076) - Metadata: Allow indexes and foreign keys to use inherited properties (#2514)
- Migrations: Separate statements with empty lines (#1951)
- Support for inserting/updating tables with triggers (not use OUTPUT when batching off) (#1441)
- Code First: One-to-one FK APIs should introduce shadow properties (#1124)
- Commands: PMC cmdlets for xproj (#978)
Bugs Fixed
- Migrations: Error when adding migration to directory outside of project (#5277)
- CLI Commands: migrations not added to relative-up output directories (#5187)
- Exception message when updating to RC2 (#5076)
- SQL Client: Unable to load DLL 'sni.dll' (#4953)
- Investigate test regression in SQL Client on Linux (#4915)
- Using ForeignKeyAttribute to control the name of a FK property unexpectedly swaps principal and dependent sides and sets cardinality to 1:1 (#4909)
- Shadow FK created by replicating the property type from principal key are non-nullable (#4895)
- Boolean condition with non entity member in where() throw exception (#4868)
- Changes in derived related entities are not detected (#4817)
- Timestamp/IsConcurrencyToken causes invalid UPDATE if no data modified (SQLServer) (#4814)
- Windows 10 UWP with Sqlite: remove-migration error (#4812)
- Latest RC2 packages do not install in latest UWP builds (#4802)
- Migrations :: exception thrown when trying to add migration using regular dotnet project (csproj) (#4796)
- Validate that all leaves in the entity types hierarchy are concrete (#4793)
- [Nightly] Base DbContext prefers parameterless constructor when injected (#4784)
- Suggestion: More detailed exception message for missing custom discriminator value. (#4776)
- Metadata :: null argument in ReferenceBuilder (#4715)
- cannot add EFCore.Relational build 20093 to .NET 4.5.1 class library (#4708)
- RevEng: SQL Server Provider: Update tables metadata query for SQL Server 2016 (#4697)
- ModelBuilder fails depending on properties names (#4682)
- CLI Commands:
dbcontext scaffold
has two -s options (#4677) - Exception msg for properties not included in the model (#4627)
- Filtering NVARCHAR column is missing "N" when using string literal (#4622)
- Cannot add Microsoft.EFCore.Relational.Design.FunctionalTest package to test project (#4613)
- Query: Revisit Enumerable.Contains command caching (#4605)
- Error when querying with two Contains statements (#4597)
- Partial updating with InMemoryDatabases (#4527)
- Reconsider ValueGeneratedOnAddOrUpdate + HasDefaultValueSql = Computed Column (#4501)
- Property mapping validation provides unhelpful message for primitive type that cannot be mapped (#4484)
- SQL Server batching with Identity columns fails for image, text, and ntext columns (#4478)
- Shadow Property - ChangeTracker Modified State (#4474)
- SqlitePropertyBuilderExtensions have wrong generic constraints on PropertyBuilder extensions (#4469)
- Setting principal key should run fk discovery convention (#4451)
- SQL Server bulk insert doesn't allow inserting varchar column values longer than 1 character (#4399)
- Calling ICollection<>.Contains() with a nested propery throws an InvalidOperationException (#4394)
- OnModelCreating : ValueGenerated.OnAddOrUpdate results in ValueGeneratedOnAdd() (#4328)
- Migration dropping foreign key and re-creating (#4325)
- Only discover properties with public getter and public/private/etc. setter (#4314)
- RevEng: generated props .HasMaxLength(x).HasColumnType("varchar") create varchar(1) columns in DB (#4312)
- Specified cast is not valid (#4308)
- Query optimization: Remove unnecessary conditionals and casts from generated SQL (#4304)
- Query: ICollection<>.Contains() with a sub query throws SqlException (#4302)
- Prevent DbContext.Set() from creating sets for types not in the model (#4301)
- dnx ef dbcontext scaffold generates improper WithMany definitions on related model? (#4298)
- Mapping column to UInt32 throws an invalid cast exception (#4287)
- Configuring default value with fluent API doesn't support enum value without explicitly casting to int (#4286)
- error mapping sql types in derived types (#4251)
- TPH does not enforce unique discriminator values (#4170)
- Scaffold a subset of tables - silently ignores / skips tables that cannot be found (#4168)
- EntityFramework.Commands don't support dotnet5.4 framework (#4143)
- Unable to add EntityFramework.Relational NuGet package to PCL (#4102)
- InvalidCastException when filtering a projected list (#4094)
- Inserted entities has different ID (DB vs instance) after SaveChanges (#4080)
- TPH: Validate shared columns and constraints (#4074)
- Migration fails for class with multiple self references (#4069)
- Migrations: Convert enum values to underlying type (#4061)
- Remove anonymous type info from Include exception message (#4058)
- Hierachical TPH table fails to load Parent when Included (#4027)
- SubString startIndex is one character off in the generated SQL (#4018)
- ThenInclude fails with ArgumentNullException for the navigation of base class which is not added as entity type (#3994)
- Throw exception when shadow principal key is created by convention (#3978)
- Changing MigrationsHistoryTableSchema generates error in migration generation (#3963)
- Navigaton property not work whe used OfType (#3962)
- InMemory creates new row for modified entries that do not exist (#3953)
- After fail of EnsureCreatedAsync method database will be in inconsistent state. Why we are not using transaction? (#3908)
- Removing derived type does not update list of directly derived type in the base type (#3894)
- System.TypeLoadException on applying migrations on sqlite OSX
- I get errors when performing reverse engineering of my database and do not know because it is produced (#3861)
- Reverse Engineer: Require a flag to overwrite existing files (#3856)
- SQL Server scaffolding generates invalid anonymous types for indexes (rc1-final) (#3847)
- RelationshipDiscoveryConvention rediscovers entity while it is being ignored (#3845)
- "ArgumentNullException: Value cannot be null. Parameter name: provider" error occurs when accessing certain navigation properties after Skip() (#3844)
- ForeignKeyAttribute should upgrade sources for navigation based on which it was found (#3832)
- Relative directory passed to Scaffold-DbContext for OutputDirectory parameter creates a project directory called "." (#3830)
- Table alias collision in generated SQL with subquery (MSSQL) (#3826)
- Skip() and Take() produce the wrong results when querying entities with a many-to-many relationship. (#3820)
- Identity set for foreign key property (#3817)
- One-to-one relationship with navigation properties on both ends throws StackOverflowException (#3806)
- Value cannot be null. Parameter name: navigation (#3805)
- System.TypeLoadException when generating migration in UWP app (#3803)
- More than one ForeignKeyAttribute pointing to same property causes stackoverflow (#3799)
- PropertyMappingValidationConvention throws for explicit interface implementation (#3790)
- Better exception message when DbContext does not have default ctor (#3752)
- Add migrations drop and create foregin key on table that not is modified (#3751)
- "InvalidOperationException" when combining navigation and inheritance (#3730)
- System.Object being discovered as EntityType through navigation. (#3727)
- Incorrect syntax generated for select new { bool } (#3703)
- PropertyMappingValidationConvention throws incorrectly with non-public properties (#3679)
- Topological Sort of CommandBatch gives incorrect ordering (#3648)
- Invalid SQL when projection includes a comparison to a Nullable type (#3618)
- Shadow property is not created by .ForeignKey(Type, string) (#3576)
- Allow multiple foreign keys to use the same set of properties (#3551)
- Primary Keys mangled on generic DbSets models after second migration (#3545)
- Include :: complex include doesn't work with FromSql (#3491)
- Entity with an enum propery type may throw an InvalidCastException when using FromSql (#3465)
- DeleteBehavior is not updated to Cascade if requiredness is set on FK after the relationship is discovered (#3460)
- Change of MaxLength not migrated to DB (#3434)
- RevEng: Scaffolding fails silently on VB projects (#3417)
- Migrations: Wrong migration generates when DbContext implementation is generic (#3388)
- [Inheritence] Setting base type can merge 2 different relationships (#3289)
- Better exception message for circular dependency in FK cycle (#3147)
- Support passing DbParameter instances to raw SQL APIs (#3115)
- Migrations: Allow many properties mapped to one column (#3061)
- Allow to override PKs/FKs on relationships that have been already configured (#2987)
- Script-Migrations throws when no migrations (#2942)
- HasValue and != null incorrect translation to sql (#2450)
- Improve exception messages for "no data store configured" (#2227)
- Update: SQL Server: Don't Select @@rowcount after INSERT (#2131)
- Getting InvalidCastException when grouping over a projection (#1909)
- nvarchar(max) can't be used with indexed columns (#1071)
- Query: support conditional expressions (#649)
- Query: Calling ICollection<>.Contains() with a sub query with navigations gives incorrect results (#153)