efcore

EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.

MIT License

Stars
13.5K
Committers
384

Bot releases are visible (Hide)

efcore - 1.1.0-preview1

Published by danroth27 almost 8 years ago

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)
efcore - 1.0.1

Published by danroth27 about 8 years ago

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)
efcore - 1.0.0

Published by danroth27 over 8 years ago

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)
efcore - 1.0.0-rc2

Published by danroth27 over 8 years ago

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)
efcore - 7.0.0-rc1

Published by danroth27 almost 9 years ago

Features

  • A way to use custom migrations directory? (#3243)
  • DNX Commands: Add --json switch for tool-consumable output (#2883)
  • DNX Commands: Verbose switch (#2871)
  • RevEng: allow the user to select which tables from the database to use (#2751)
  • DNX Commands: Enable DbContext and Startup in different projects (#2679)
  • Align property discovery convention with type mapping (#2588)
  • Code First: Implement inheritance support (#1704)
  • Commands: Add IDbContextFactory (#639)
  • .NET Native support (#623)
  • Relational: TPH inheritance mapping pattern (#247)

Bugs Fixed

  • ModelCleanupConvention: Collection was modified after the enumerator was instantiated (#3552)
  • Regression? Foreign key properties now based on type name rather than property name (#3503)
  • Colour migrations (#3450)
  • Value generation error in case of inheritance (#3445)
  • FromSql throws ArgumentNullException when passing a null parameter (#3432)
  • RevEng: Generate partial classes (#3428)
  • Build warnings from TelemetrySource in tests (#3422)
  • Facing 'multiple assemblies with equivalent identity' on .NET 4.5 with latest build (#3407)
  • Collection navigation properties without setter not detected (they were in EF6) (#3396)
  • KeyAttributeConvention throws while composite keys used with inheritence (#3280)
  • RevEng: datetime field with default constraint generates warning (#3250)
  • RevEng: varchar column with default null constraint generates warning (#3249)
  • RevEng: smallint column with default null constraint generates warning (#3248)
  • RevEng: Unnecessary usings in entity class code (#3229)
  • RevEng: Namespace is missing first character (#3228)
  • RevEng: Provide default context name when unspecified (#3227)
  • Inheritance :: error when adding Customer and VipCustomer to a db set in one "save changes" (#3161)
  • Commands: Start a new namespace when generating migrations for a different context (#3124)
  • RevEng: Remove our Razor dependency (#2947)
  • Conventions: Key discovery not firing for added shadow properties (#2944)
  • DbContext configured with an external DbConnection raises an exception when the DbConnection is already opened. (#2909)
  • RevEng: Keys/AlternateKeys/Indexes (#2840)
  • Relational: Add a validation rule to ensure unique column names (#2813)
  • Multiple calls to FromSql with stored procedure results in errors (#2420)
  • Commands: Discover contexts registered in the service provider (#2293)
efcore - 7.0.0-beta8

Published by danroth27 about 9 years ago

Features

  • RevEng: Allow absolute output paths (#3131)
  • Support for Database Schema on the Model Builder (#2875)
  • Migrations: Scaffold RestartSequence when StartValue changes (#2811)
  • RevEng: Change output directory (and namespace) (#2750)
  • Migrations: Get active provider (#2258)
  • Migrations: Add ApplyMigrationsAsync (and related async methods) (#2212)
  • Add support for execution of a raw command on the data store (#1863)
  • Commands: Error gracefully on non-relational providers (#1652)
  • Commands: Review what info we print on error (#1044)

Bugs Fixed

  • SQLite RevEng: Context is always named ModelContext (#3164)
  • NuGet Commands: No stack trace is shown (#3135)
  • KeyDiscoveryConvention is not completely undone when configuring a different property as key (#3010)
  • Possible null ref in RelationalParameter (#3002)
  • "Malformed" SQL generated by MigrationSqlGenerator (#2950)
  • foreign key in TPH (#2887)
  • SqlServer: Error when applying a second migration - Issue with default values on bit columns (#2802)
  • Remove-Migration does not delete file from *.csproj (#2690)
  • additional migration tries to redefine existing identity columns resulting in incorrect T-SQL syntax (#2070)
efcore - 7.0.0-beta7

Published by danroth27 about 9 years ago

Features

  • Reverse engineer model from database (#830)
  • Convention-based model builder support for Data Annotations (#107)

Bugs Fixed

  • EF7-beta6 : "Superkey" produces a migration issue (#2788)
  • Add-Migration fails on a UWP class library (#2784)
  • PropertyAttributeConvention does not apply to non-public properties (#2766)
  • ModelSnapshot: Ensure using directives present for annotation types (#2715)
  • Migrations revert in the wrong order when going to "0" (#2695)
  • Failure adding NuGet ref to EF.Relational.FunctionalTests from release branch (#2680)
  • Commands: Microsoft.CodeAnalysis.CSharp missing on UWP (#2661)
  • Commands: "Lazily" use EntityFramework.Relational.Design to enable UWP (#2619)
  • Sqlite Migration AutoIncrement wrong cast (string instead of boolean) (#2545)
  • SqlServerHistoryRepository.Exists doesn't use SqlStatementExecutor (#2497)
  • Migrations: Defer type mapping (#2421)
  • Calling AddSqlServer more than once shouldn't result in an error. (#2090)
  • SqlServerSequenceValueGenerator inefficient (#1540)
  • Reverting migration that adds column with default value throws (#1345)
efcore - 7.0.0-beta6

Published by danroth27 about 9 years ago

Features

  • RevEng: Allow customers to override the default templates (#2418)
  • RevEng: Command option for adding codegen template into project (#2415)
  • RevEng: Ignore __MigrationHistory table (#1929)
  • Add support for execution of a raw command on the data store (#1863)
  • RevEng: Convert CodeGen part to use templates (#1666)
  • Migrations: Support database schemas (#948)
  • IndentedStringBuilder shouldn't create space-only lines (#654)
  • Enable configuring CommandTimeout on framework-created DbCommand objects (#605)
  • Define patterns/APIs for using configuration (#192)

Bugs Fixed

  • Migrations generate wrong order for DropForeignKey and DropPrimaryKey (#2509)
  • Make DiscriminatorValue object instead of string (#2444)
  • Full .NET build error after installing EntityFramework.SqlServer (Multiple assemblies with equivalent identity have been imported) (#2340)
  • FromSql query parameter name collisions (#2309)
  • SQL Server: "malformed" SQL in HistoryRepository (#2190)
  • FromSql: Crash when composing multiple calls (#2185)
  • SQLite DDL fails on Windows 10 UAP (#2184)
  • Help with my configuration: Could not load file or assembly 'System, Version=4.0.0.0 ... (#2153)
  • MigrationBuilder.CreateSchema(string name) + SQL Server is missing batch sepator (#2112)
  • Using a DB Context that Extends IdentityDbContext<TUser, TRole, TKey> where TKey: Guid causes an error on add migration (#2099)
  • Migrations :: ForSqlServer() configuration doesn't work with migrations (#1975)
  • RevEng: Self referencing relationships only partially specified in generated code (#1936)
  • RevEng: .Required() not generated for nullable CLR types that are NOT NULL in database (#1935)
  • Migrations create dbo.DefaultSequence when named schema is specified (#1919)
  • Migrations: Handle transitive renames (#1907)
  • Migrations: Topologically sort DropTable operations (#1903)
  • Foreign key name is incorrectly generated for one:many relationships (#1697)
  • Migrations: Improve error message when commands not installed in project that contains the context (#1459)
  • Migrations: Default value not scaffolded for non nullable fields causing error (#1275)
  • Attempting to set type to "Nullable`1" in DbContext (#1195)
  • Perf tests run when running all tests in TestDriven.NET (#1139)
  • Commands :: "k ef migration add" throws argument null exception (expecting the migration name) - but we should provide a nicer message (#980)
  • Read relevant DbContextOptions from IConfiguration (#849)
efcore - 7.0.0-beta5

Published by danroth27 over 9 years ago

Features

  • Commands: Support Windows 10 (UAP) Projects (#1963)
  • Bring back SQLite (#1953)
  • Target Windows 10 (UAP) (#1952)
  • Method to get EntityType properties ordered by key members first (#1634)
  • Migrations: Log more info (#975)
  • Update SQLite Provider to support all Built-In Data Types (#677)
  • Commands: Help/Documentation (#578)
  • SQLite: add a value generator for Int32 (#300)

Bugs Fixed

  • Versioning of EF Test MyGet packages (#2252)
  • Second migration uses different folders (beta5-13202) (#2215)
  • SQLite database delete not supported on Windows 10 UAP (#2183)
  • CSharpHelper depends on the local system's culture (#2143)
  • No value generator is available for properties of type 'Decimal' (#2087)
  • Migrations :: invalid migration created for nested classes (#1969)
  • Setting EntityType.BaseType does not throw if Child property duplicates new parent property (#1954)
  • SQLite Add-Migration failing when OneToMany present (#1209)
  • SQlite: Exception "ExecuteReader can only be called when the connection is open." (#1156)
  • Not possible to map Guid to columns declared as BLOB with SQLite (#1068)
  • Change casing of SQLite classes (#1047)
  • Use strongly typed ReadValue when reading values into shadow state (#738)
  • SQLite: Better error messages (rather than "SQL logic error or missing database") (#212)
efcore - 7.0.0-beta4

Published by danroth27 over 9 years ago

Still very much a preview

EF7 introduces some significant changes and improvements over EF6.x and therefore the pre-release phase of EF7 is much longer than other recent releases. We’ve made significant progress since our last pre-release, but if you decide to try out EF7 then please bear in mind that this preview is designed to give you an idea of what the experience will be like and there are still a number of limitations and missing features that will be addressed before RTM.

If you aren’t comfortable working with a prerelease that is still very much in-flux then don’t worry… there will be plenty of opportunity to try out pre-release EF7 once it is much more stable.

Where can I use Beta 4?

Beta 4 can be used in the following types of applications

  • ASP.NET 5 applications that target either full .NET or the new .NET Core. EF7 is included in new ASP.NET 5 applications that are created using the “Web Site” project template. The following resources will help you get started using EF7 in ASP.NET 5:
  • WPF, WinForms, Console and ASP.NET 4 applications that target .NET 4.5.1 or later. We only recommend this for trying out EF7 in sample applications. If you are writing a production application then you should continue to use EF6.x. We do not recommend attempting to upgrade an EF6.x application to EF7 at this stage as there are still key features yet to be implemented on EF7 (such as inheritance support which is currently being implemented).
  • Mac and Linux applications targeting Mono 3.12.1 or later can make use of EF7. We have not done extensive testing of this scenario, but basic query and save functionality works.

What databases can I target with Beta 4?

Currently you can target SQL Server or our in-memory store (designed to help with testing). These providers are available in the EntityFramework.SqlServer and EntityFramework.InMemory NuGet packages.

We are working on other providers that will be available for the next prerelease (more on that below).

What’s implemented in Beta 4?

Here is a rough guide to what currently works in Beta 4. Most of these features are a work-in-progress and still have limitations.

  • Basic modeling including built-in conventions, table/column mapping, and relationships
  • Change tracking
  • LINQ queries
  • Table based Insert/Update/Delete (including batching)
  • Migrations and database creation/deletion
  • Transactions (including automatic transactions during SaveChanges and explicit transaction APIs)
  • Identity and Sequence patterns for database generated key values
  • Raw SQL commands
  • An early preview of reverse engineering a model from a database
  • Logging
  • Unique constraints including the ability to use them as keys in a relationship

What’s Next

Here are some of the areas we are currently working on (or working with other development teams to deliver). You can see many of these features already underway in our working code base.

Providers

There is work underway to enable the following database providers. We’ve also had contact with many other providers who are planning to provide EF7 support.

  • SQLite (being developed by the EF team)
  • PostgreSql (being developed by the npgsql team)
  • MySql (being developed by the MySql team)

Platforms

We are working to enable EF7 use on the following platforms:

  • Windows 10 Universal Application Platform
  • Cross-platform .NET for Mac and Linux
  • Android and iOS Mono frameworks

Features

Here are a number of the cross-cutting features we are currently working on. This isn’t all we will be doing for RTM, just what’s currently underway.

  • Inheritance
  • Cascade delete
  • Template-based reverse engineering from a database
efcore - 7.0.0-beta3

Published by danroth27 over 9 years ago

Features

  • Implement AttachGraph (#1229)
  • Make EntityFramework a meta-package (#1049)
  • Commands: Remove-Migration (#631)

Bugs Fixed

  • Should be able to add a dependent entity with identifying FK before the principal (#1207)
efcore - 7.0.0-beta2

Published by danroth27 almost 10 years ago

Features

  • Migrations: Apply-Migrations error message on Phone/Store apps (#822)
  • Consider making resource string helpers public (#804)
  • Decide on best default sizes for relational and provider-specific types (#768)
  • Commands: Infer namespace (and directory) from last migration (#671)
  • Easier state entry access when adding entities (#498)

Bugs Fixed

  • sqlite, decimal and non-US locale - System.FormatException: Input string was not in a correct format (#1057)
  • Commands: Use-DbContext should not affect commands invoked on other projects (#990)
efcore - 7.0.0-beta1

Published by danroth27 almost 10 years ago

Features

  • Commands: Wire-up Logging (#807)
  • Migrations PowerShell: Support win81, wpa81, and portable projects (#579)
  • Migrations: KRE Command Line Interface (#342)

Bugs Fixed

  • EF7 on VS 14 CTP4 on Windows 10 (#896)
  • Commands: Discover context types from migrations (#670)
efcore - 7.0.0-alpha4

Published by danroth27 about 10 years ago

efcore - 7.0.0-alpha3

Published by rowanmiller about 10 years ago

Since Alpha 2 the majority of our work has been around adding or improving the core components of the EF7 code base and improving test coverage.

These release notes only list the more prominent changes/improvements/additions that affect the functionality available to developers using EF7.

Please bear in mind that this preview is designed to give you an idea of what the experience in EF7 will be like and you will quickly hit limitations if you deviate from any sample code and/or try to use advanced features. The API surface will also change significantly in future previews.

Providers

In Alpha 3 we made progress on our various database providers:

  • EntityFramework.SqlServer - More query operators are now processed in the data base. We also made general improvements to the DDL Pipeline and the Update Pipeline.
  • EntityFramework.SQLite - We brought the Query Pipeline, Update Pipeline and DDL Pipeline up to a similar quality level as the SQL Server provider.
  • EntityFramework.AzureTableStorage - This provider was checked into our main code base and can now be used to target Azure Table Storage. Basic query processing is implemented so that filters on row and partition key are processed in the database. The Update and DDL pipelines also have basic functionality implemented.
  • EntityFramework.InMemory - We didn't make any significant changes to this provider. It has basic functionality implemented and is useful for testing scenarios etc.

Definition of Provider Terms

Query Pipeline: The component that translates a LINQ query into a store specific query and then passes results back to EF.
Update Pipeline: The component that translates information from the ChangeTracker into store specific update commands (i.e. INSERT/UPDATE/DELETE on a relational database).
DDL Pipeline: The component that creates schema objects in the database (i.e. Tables, Columns, etc. in a relational database).

Relationship Fix-up / Change Detection

We implemented more of the functionality that detects changes to the values stored in the properties of your objects. This also includes automatically 'fixing up' the values stored in navigation and foreign-key properties when EF detects that one of them has changed.

Migrations

We enabled the migrations commands for non-ASP.NET vNext applications. If you install the EntityFramework.Design NuGet package, the Add-Migration and Update-Database commands will be available in Package Manager Console. Note that the Enable-Migrations command is no longer required or available.

efcore - EF 7.0.0-alpha2

Published by rowanmiller over 10 years ago

Since Alpha 1 the majority of our work has been around adding or improving the core components of the EF7 code base and improving test coverage.

These release notes only list the more prominent changes/improvements/additions that affect the functionality available to developers using EF7.

Please bear in mind that this preview is designed to give you an idea of what the experience in EF7 will be like and you will quickly hit limitations if you deviate from any sample code and/or try to use advanced features. The API surface will also change significantly in future previews.

Package Renames

We renamed most of the data access related packages to better align with the existing EF6 package names.

The new names for the top level packages you would install in a project are listed below. We also renamed a number of the infrastructure packages, but they will be pulled in as needed when you install one of the packages listed below.

  • EntityFramework
  • EntityFramework.SqlServer
  • EntityFramework.SQLite
  • EntityFramework.AzureTableStorage
  • EntityFramework.InMemory

Providers

In Alpha 2 we made progress on our various database providers:

  • EntityFramework.SqlServer - The most notable change from Alpha 1 is that we now process a number of LINQ operations in the database (as opposed to always sending a SELECT * FROM xyz query as we did in Alpha 1. These include filtering, sorting, projection (i.e. selecting a subset of columns), and others. We also made general improvements to the DDL Pipeline and the Update Pipeline.
  • EntityFramework.SQLite - This release contains some early work on the SQLite provider. There are still a number of issues to be addressed in the Query, Update, and DDL pipelines.
  • EntityFramework.InMemory - We didn't make any significant changes to this provider. It has basic functionality implemented and is useful for testing scenarios etc.

Definition of Provider Terms

Query Pipeline: The component that translates a LINQ query into a store specific query and then passes results back to EF.
Update Pipeline: The component that translates information from the ChangeTracker into store specific update commands (i.e. INSERT/UPDATE/DELETE on a relational database).
DDL Pipeline: The component that creates schema objects in the database (i.e. Tables, Columns, etc. in a relational database).

Async Query Operators

More of the asynchronous query operators (such as ToListAsync(), FirstAsync()) are now functional.

Generalized DbContext.Database Methods

As we've worked on targeting no-relational data stores it became apparent that the fine grained DDL methods on DbContext.Database (such as Exists(), HasTables(), etc.) were not applicable to most non-relational databases. We now have more generic EnsureCreated() and EnsureDeleted() methods on DbContext.Database.

The relational specific methods are available by using the AsRelational() extension method that is available when targeting a relational provider. For example, myContext.Database.AsRelational().Exists(). If you attempt to use AsRelational() when targeting a non-relational database, it will throw.

Note that the DDL methods on DbContext.Database are being widely used in samples etc. at the moment because Migrations is not yet available to handle database creation and alteration. Once Migrations is available, these methods should only be used to create databases for unit testing etc.

Badges
Extracted from project README
build status test results latest version preview version downloads latest version preview version downloads
Related Projects