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)
- Reverse engineering: Unique Index interpreted incorrectly to give one-to-one instead of one-to-many relationship (#7938)
- Query: AsNoTracking/AsTracking methods on Non-EF Queryable providers throws InvalidOperationException (#7937)
- Infrastructure: DatabaseName is only used by tooling and shouldn't be public runtime API (#7936)
- Query: Contains method on client list of nullable guid/int fails to translate to server (#7922)
- Reverse engineering: Scaffold-DbContext can result in invalid SQL for computed column constraint (#7918)
- Query: Navigation filter + navigation group by + order by grouping key throws exception (#7904)
- Query: Joined query isn't correctly translated (#7888)
- Query: Stop producing N+1 queries for cases where single element subquery is projected inside a DTO (#7882)
- Query: Query: Query containing subquery with annonymous type fails to translate to server (#7844)
- Query: Errorneous IS NULL check in SQL causing repetitive null checks or invalid SQL with coalesce (#7784)
- Query: DateTime.Add* functions throw exception when argument is larger than int range (#7756)
- Query: Property '...' is not defined for type for GroupBy with projection and ordering (#7740)
- Query: InvalidCastException when trying to Round int cast to double (#7700)
- Query: Aggregate operator generates wrong SQL with Top/Skip/Distinct (#7693)
- Query: Subquery.contains generates invalid SQL (#7666)
- Reverse engineering: Scaffolding reads and creates "hypothetical" indexes (#7665)
- Query: InvalidCastException on Where with Any (#7657)
- Query: incorrect query plan produced for complex query with groupjoins (#7654)
- Query: JOIN/Left-outer-join queries wrapped in client projection could be simplified to ShapedQueries to reduce client evaluation (#7648)
- Query: Nullable foreign-key can lead to client evaluation (#7616)
- Tools: Current Directory is wrong for .NET Core projects (#7588)
- Reverse engineering: SQL Server User Defined Data Type cannot be reverse engineered (#7576)
- Query: Navigations: Inverse one-to-one references not rewritten (#7573)
- Query: Translating Date using ".Contains" (#7548)
- Model configuration: Ignoring base types can leave behind unnecessary discriminator column (#7539)
- Migrations: AlterColumn tries to drop non-existing index on SQL Server (#7535)
- Query: Distinct followed by other operations can give rise to incorrect SQL (#7525)
- Query: Skip with Count always returns 0 (#7523)
- Query: Where() on derived property fails with undefined property on base class exception (#7499)
- Query: Error calling Count() after GroupJoin() (#7497)
- Tools: Finding runtime 1.2 compatible tools? (#7492)
- Model configuration: Non-primitive properties cannot be configured to use supported store type (#7488)
- Query: invalid cast for queries with nullable bool and coalesce (#7452)
- Query: Relational OfType op selects unnecessary columns (#7451)
- DbContext: Make AddAsync and AddRangeAsync really async (#7446)
- Query: Wrong Sql emitted when doing a .Distinct() query on a one-to-one join (#7421)
- Query: GroupJoin and SelectMany fails to translate (#7417)
- DbContext: Throw for explicit loading of an un-tracked entity (#7388)
- Model configuration: Shadow primary key should behave the same as non-shadow primary key (#7377)
- Query : ToString() method that takes a formatter argument should do client evaluation (#7364)
- Query: In TPH inheritance, int discriminator does not work, exception is thrown when compiling query (#7359)
- Query: Reference Include in derived type with siblings throws invalid cast expression (#7312)
- Query: Set operations applied after casting throws exception (#7280)
- Query: Set Operations throw ArgumentNullException when second source is DbSet (#7279)
- Query: Using Or instead of ElseOr, etc. can result in unexpected SQL (#7271)
- Model configuration: Changing PK of principal type loses the user configured index info on FK property (#7254)
- DbContext: Possible race condition affecting DbContext pooling (#7251)
- Query: Selecting column from wrong table when filtering on navigation property and using skip/take (#7220)
- Model configuration: Don't throw when SqlServer ValueGenerationStrategy is configured on an incompatible property by a convention (#7208)
- Query: compilation error for queries with navigations that also compare same navigation to null (#7207)
- Infrastructure: KeyPropagator doesn't propagate the temporality of values (#7203)
- SaveChanges: Unique indexes not taken into account during topological sort (#7193)
- Query: IncludeResultOperator not implemented in some client eval cases (#7187)
- Query: OrderBy with Contains emits invalid SQL to the DB (#7178)
- Query: Bad lifting causes some LINQ expressions to be evaluated locally when .Include() is involved (#7164)
- DbContext: Identity value generation cannot be used because the property type is byte (#7161)
- Query: Left Outer Join created incorrectly for some Skip/Take patterns (#7137)
- Query: Sum fails with "specified cast is not valid" when single/double mismatch (#7136)
- DbContext: Collection was modified; enumeration operation may not execute in some graph attach cases (#7119)
- Infrastructure: Redundant call to String.Format() in the RelationalLogger class (#7112)
- Query: 'SUM' is not a recognized built-in function name when using coalese (#7103)
- Query: Client evaluation warnings and invalid SQL generated with certain null checks (#7102)
- DbContext: ExecuteSqlCommand has poor usability when used with params and cancellation tokens (#7100)
- Infrastructure: DbSetInitializer does not check if type is not added to model (#7094)
- Query: .Where() ignored before .DefaultIfEmpty() (LEFT JOIN) (#7080)
- Infrastructure: AfterExecuteCommand tracing is missing the result info (#7073)
- Model configuration: Incorrect key discovery can result in exception saying another instance has same key, but it doesn't (#7049)
- Query: FromSql not composing with LINQ when it contains certain whitespace patterns (#7005)
- Query: Wrong SQL generated for query with group join on a subquery that is not present in the final projection (#7003)
- Query: Complex query with navigation properties, Contains, and client eval produces invalid query plan (#6997)
- Query: SubQuery with Aggregates causes unneeded queries in 1.0.0 and throws exception in 1.1.0-preview2-22683 (#6982)
- Model configuration: Configuring one-to-one in OnModelCreating causes NullReferenceException (#6957)
- Query: Contains on element coming from optional navigation doesn't get server-evaluated (#6937)
- Query: Expecting client eval warnings on Last and LastOrDefault query extensions (#6929)
- Query: System.ArgumentException: must be reducible node when using ternary operator (#6921)
- Query: Rewrite Principal key access to FK access only if FK entity is not projected out (#6896)
- Query: ArgumentOutOfRangeException when using DefaultIfEmpty() on a collection navigation in conjunction with SelectMany (#6879)
- Migrations: Attempt better ordering when adding computed columns (#6853)
- Query: Related tables sometimes result in incorrect type of join (#6844)
- Model configuration: Overlapping optional and required FKs results in attempt to null out properties inappropriately (#6840)
- Migrations: Parameterless DbContext constructor is used in preference to overload taking DbContextOptions (#6826)
- Query: Projection with nested query fails with crashing SQL query (#6824)
- Model configuration: A property that will be shadow and is used as part of an FK must be configured as a shadow property first (#6823)
- Query: NullReferenceException when property isn't marked as nullable but there is null data (#6818)
- Model configuration: Properties not always lifted correctly when using derived classes (#6814)
- Model configuration: FK exception with some combinations of property names and inheritance (#6792)
- Query: Where clause on optional reference navigation throws exception (#6782)
- Query: Include with OrderBy with Skip(0) cause OrderBy to be ignored (#6736)
- SaveChanges: The temporarity of a value is not restored after an exception during SaveChanges (#6720)
- Query: Simplifying Ternary expression in body of a Linq query breaks the query. (#6695)
- Migrations: SQLite should ignore schema rather than throwing. (#6679)
- Query: Left Join (GroupJoin) always materializes elements resulting in unnecessary data pulling (#6647)
- Query: Include doesn't work with SelectMany (#6451)
- Query: The wrong type is being selected when an extension method is used in a subquery (#6383)
- Query: Subquery comparison to null is translated incorrectly (#6353)
- Reverse engineering: Navigation properties should not be virtual by default (#6326)
- Query: orderby + include + complex projection doesn't work (#5612)
- Query: Group by on Join without DefaultIfEmpty throws ArgumentException (#5171)
- Query: Repeated joins generated for repeated .Include().ThenInclude() (#4900)
- Query: "The EF.Property method may only be used within LINQ queries" and unnecessary client-side evaluation triggered in certain generic usages (#4875)
- Query: Aggregate function over subquery produces incorrect SQL (#3792)
Downloads
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)
Downloads
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)
Downloads
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)
Downloads
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)
Downloads
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 (#6337)
- PMC + xproj: dotnet-ef uses incorrect build directory (#6335)
- Skip, Take and Select return incorrect results (#6318)
- Add support for data annotations on fields (#6316)
- Key.ReferencingForeignKeys can have different orderings (#6295)
- Using DateTime.Year in complex query fails on SQL Server (#6270)
- DateTime converted to Nullable inside optional navigation property, throws exception on AddDays (#6261)
- Migrations scaffolding error when renaming column and adding a table with FK to that column (#6258)
- Linq generation error (OrderBy/Skip/Take?) (#6257)
- FromSql and SqlParameter issue when calling by 2 ways the query (#6249)
- left join, bug when show data (#6232)
- Navigation fixup fails with composite FKs using server-generated values (#6212)
- ArgumentException using same query source for multiple separate queries (#6209)
- Query :: errors for some queries with navigations and DefaultIfEmpty (#6207)
- SQLite throws System.FormatException: 'Input string was not in a correct format' when decimal numbers stored in exponential format (#6205)
- Migrations: Enum literal generated for defaultValue (#6193)
- BatchExecutor.ExecuteAsync invokes sync BeginTransaction instead of BeginTransactionAsync (#6185)
- Query: INNER JOIN generated for navigation traversals from principal to dependents (#6177)
- Fixup can be inconsistent for 1:1 relationships changed in store (#6171)
- ChangeTracker.Entries() throws NullReferenceException (#6157)
- Error when setting default value for child classes in TPH (#6117)
- Model Building: StackOverflowException when two properties share the same foreign key (#6115)
- ChangeTracker shouldn't throw on conceptual nulls if one of the fk properties is nullable (#6109)
- Original values must be required for principal keys (#6106)
- SQL Server Migrations: Rebuild indices on narrowed columns (#6102)
- Log machine readable & queryable structured log entries (#6096)
- New collection navigation is not fixed up after reparenting (#6067)
- HasDefaultValue type casting (#6056)
- Guid wrongly generated for alternate key Guid columns (#6048)
- Issue with Computed Fields using User Defined Functions (#6044)
- AddColumn migrations created with bad default (#6035)
- StackOverflowException in dotnet.exe when creating migrations with one-to-one relationship configured incorrectly (#6017)
- BUG? Created migration throw exception and cannot be reversed (only delete) (#5966)
- Queries with "Contains" broken after upgrade from RC2 to RTM (#5939)
- Query: | and & operators fail (#5930)
- Generating Migrations loses using / namespace for custom types (#5912)
- Query: TPH query with shared column includes column multiple times. (#5909)
- Query: Remove ClientEval warning for Single() (#5897)
- Group by multiple properties Extension methods error. (#5887)
- Commands: show better error when executing on a UWP class library (#5878)
- NotMapped on overridden mapped base class property on EF6 throws, but has no effect on EF Core (#5864)
- Remove JsonUtility (#5859)
- Commands: Better error when x64, ARM, or .NET Native (#5839)
- 'must be reducible node' when aggregating over a join (#5812)
- SQL Server Migrations: Rebuild columns after altering HasComputedColumnSql (#5789)
- HasKey and ValueGeneratedOnAdd have a declaration order dependency (#5776)
- Duplicate Foreign Key Constraints created in Migrations with TPH inheritance (#5769)
- Query Perf: Selecting entire table for navigation properties in projections (#5738)
- Query: Short-circuiting is not working (#5736)
- Query: Can Include be a no-op on non-EF queries (#5735)
- Nit - reveng generated DbContext violates SA1201: A property should not follow a method (#5721)
- ForeignKeyAttribute can't be overriden with explicit configuration (#5695)
- Commands: Only look for ConfigureServices on Startup (#5677)
- Query :: Include with multiple navigations (including optional navigation) fails (#5672)
- RC2 EF LINQ Query exception (#5664)
- Query :: optional navigations null-ref protection logic doesn't work for some cases involving multiple optional navs and method calls (#5613)
- Query :: force client evaluation on First() inside a query (#5544)
- Script migration fails if directory does not exist (#5535)
- Migrations: Avoid redundant IS NOT NULL on indexes (#5532)
- SQL Server Migrations: RenameIndex generates bad SQL when table unspecified (#5520)
- RC2, using ?? operator in select fails with casting error (#5439)
- Metadata :: confusing exception when setting up Navigation with shadow FK (#5377)
- Sql Server Migrations: Throw when altering IDENTITY (#5345)
- Consider pay-for-play for tools packages (#5273)
- Test issue with Substring_with_constant and Substring_with_closure (#5220)
- Test fixture base class uses SqlServer-specific code (#5216)
- Better error message when using nav prop in string overload of Property (#5056)
- Query: SELECT subquery order condition is ignored when filtering (#4955)
- Extracting subquery to a variable causes local evaluation (#4857)
- Query :: error during groupjoin flattening for complex query with multiple joins subquery and LOJ (#4749)
- Query :: invalid sql generated for query with joins where key selector is a null comparison (#4748)
- unable to groupby item.Date.Month (#4581)
- Contains on Sub query with navigation and projection throws ArgumentException (#4352)
- Query :: we could be smarter about removing redundant joins when expanding multiple navigations (#3816)
- Query: [Nav Prop Translation] EF can't join between same types if one of them is queryed inside the expression (#3141)
- Error when specifying AttachDbFileName in connection string (#2810)
- When mapping to backing fields handle cases where field is on base type (#758)
- Query: Improve translation of String's StartsWith, EndsWith and Contains (#474)
Downloads
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)
Downloads
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)
Downloads
PreviousNext