[Closed] Entity Framework Core Feature Suggestions

This web site is planned to be retired on July 31, 2019, and it is no longer being monitored by the EF team at Microsoft.

We have decided to unify our feedback process to focus on our existing issue trackers at GitHub.com. We are not planning to migrate the list of ideas posted here, because some of these ideas and votes were submitted a long time ago and therefore the number of votes likely does not accurately reflect the current priority for customers.

You are welcome to re-submit your favorite ideas to our issue trackers. We only request that you first search for existing issues and try to avoid creating duplicates.

Please visit the EF Core issue tracker or the EF6 issue tracker depending on what product you want to report bugs, make contributions, or submit ideas for.

Note that our team will only fix bugs, implement small improvements and accept community contributions on the EF6 codebase. Larger feature work and innovation will happen only on EF Core.

If you want to learn how to use our products, visit our documentation pages.

If you have technical questions or need help, consider asking in Stack Overflow using the EF Core or EF6 tags.

Note that roadmap questions, bug reports, feature requests or ideas are not appropriate for Stack Overflow. Visit Stack Overflow’s help center for guidance on appropriate usage.

Search for existing suggestions

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Sort and autoformat xml inside .edmx files before saving via EF Designer

    Need the EF designer to generate nodes inside .edmx file in exactly the same order they are present in the database (currently a list of entity properties is saved in reverse order in mappings section, also when you update the model from the database schema the ordering is messed up). Also before saving .edmx file EF Designer should auto format the document. This would help significantly with branching, merging and resolving conflicts during merge operations of .edmx files.

    Steps to reproduce: (1) Generate EF data model based on an existing database (2) Add a couple of new columns, indexes, foreign…

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. Logging of underlying stored procedure and actual SQL call

    In production environments, there is always a requirement to log the underlying SQL calls when a WCF/Web site calls database and executes store procedures or any other SQL statement. Right now, via Entity framework there is no way that we can retrieve the actual SP call so that it can be logged for trouble-shooting purposes.
    It would be great if the product team can create some handle to get this information!

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. EF ODBC Support

    I have seen NHibernate have the capability to connect ODBC data source. I could not do that in EF now. I want to connect Informix through EF with ODBC Driver. I did not want to use Informix data provider for this type of setup.

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Migrations: Allow Multiple Migration SQL Generator per Provider

    One way to allow community to contribute to EF Migrations is allow us to create more `MigrationOperation`s.

    For example, people can then add things like full text index, etc., things that are not in the core EF Migrations and are just boring SQL statements that need to be combined together.

    Currently, to build a provider agnostic `MigrationOperation`, you need to write the SQL generated for the operation in a class derived from `MigrationSqlGenerator`. If you want to add `CreateFullTextCatalog` operation and support SQL Server for example, you inherit `SqlServerMigrationSqlGenerator`, add a `Generate` method for your operation, and ensure all other…

    5 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Allow inserting new entities with predefined identity column values (INSERT_IDENTITY)

    Especially for migration projects it would be useful to allow entities to be saved with predefined identity values.

    Until now you have to use ADO.NET to do this.
    SET IDENTITY_INSERT TableName ON
    INSERT INTO TableName (IdColumn, Column1)
    VALUES (234, 'Value')

    I would like to tell the DbContext to use this feature when saving new entities.

    3 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Support FileStream and FileTable

    please add SQL Server 2012 features to new release of entity framework and code first that support filestream and filetable

    30 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  7. Navigation properties in composite ids without need for the corresponding scalar property

    If you have a class like

    public class CustomerAddress
    {
    public virtual Customer Customer { get; set; }
    public virtual Address Address { get; set; }
    public virtual string AddressType { get; set; }
    public virtual DateTime ModifiedDate { get; set; }
    }

    you should be able to create a composite id like this

    HasKey(a => new { a.Customer, a.Address });

    without defining CustomerId and AddressId properties

    4 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Use CTE (with clause) instead of derived tables in generated queries.

    SQL Generated code would be much more readeable if you would use common table expressions instead of derived table. Just choose the name you want for the CTE and move the code generated for the derived table into the CTE, and replace the derived table expression by the name of the CTE. The resulting code is then no more indented. You can also take the opportunity to properly name the CTE to give an hint about which part of the linq expression result in the CTE generation. This improvement should not be complex to implement, and would help us and…

    7 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Improved API for Migrations

    The API for DbMigrator is lacking. I would like to see .UpOne(), .DownOne(), .Up(n), .Down(n) methods to attempt to perform that number of migrations.

    .Update("0") is an odd-looking way to completely thrash the DB. Something like .RollbackAll() would be a very simple implementation and have a much clearer name.

    Having .Update() take an additional optional parameter to completely rollback first, and apply all migrations from scratch might be very nice, especially in a test or development environment.

    Generating an SQL script for logging purposes and then performing the DB migration must currently (I believe) be done in two steps. A…

    3 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  10. Collation support

    Currently strings are compared via default database collation or column collation when the comparison is translated to SQL. But they are compared to be binary equal when the code is executed in CLR.

    So adding .ToList() before .Select() may suddenly change the result of comparison. And the tests with mocked IQueryables also work differently from the database translated queries.

    Also it's sometimes required to compare strings using different collation. Currently that's only possible if you load the entire data into memory first and compare in CLR. However, even that case is troubling since there is no exact equivalent of SQL…

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Create a convention to automatically convert null string properties on a model to empty strings

    Create a convention to automatically convert null string properties on a model to empty strings

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Support for the TPH Inheritance for IS Null/IS Not Null pattern

    Be able to map subclasses based on whether a column is null or not. This works in the EDMX, but not Code First

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. Update model from database should update complex types returned by stored procedures

    When using option 'Update model from databes' VS should update complex types returned by SP - now every SP have to be updated manually

    3 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  14. Allow utilizing Dependency Injection for entity materialization

    I would like to see EF upgraded to allow a user-selectable Dependency Injection container to manage materialization of entities. This would allow finer grained control over how objects are materialized, as well as support interface based definitions for entities.

    10 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  15. 73 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Cascade Delete and Update Attribute

    It would be great to have attributes to indicate whether to cascade delete and updates rather than having to use the fluent api.

    6 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Offer eager loading strategies

    I supposed that eager loading currently supports only single fixed strategy and except some rare cases this strategy always joins all eager loaded data to one huge record set - at least that is what I saw so far.

    I described the impact of such eager loading on Stack Overflow: http://stackoverflow.com/q/5521749/413501

    It would be nice to have some control over the way how eager loading is executed with possibility to define if eager loaded data should be joined into single result set with the main data or if they should be executed in separate query.

    Something like:

    var data =…

    117 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add Entity Framework Releases to Microsoft Reference Source Server

    Make it quick and easy to see the source code during debugging and allowing Visual Studio to load the source on demand as it does for the core .net framework.

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Support Pessimistic Concurrency

    Allow a Select with UpdLock which locks all returned entities in the Database. This is a basic requirement to program for example a ticket sales portal with entity framework! So far it's not possible and I still have to stick to NHibernate :(

    3 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Mechanism for statically defining eager loading for navigation properties

    Some times, depending on how you design your model, you want a certain navigation property to be loaded *always*. It's static part of the model just like the (implicit) lazy load nature of a virtual navigation property when lazy loading is configured.

    There should be a way to define eager load for navigation properties, something like:

    [Include]
    public ICollection<Item> Items { get; set; }

    and/or via DbModelBuilder:

    modelBuilder.Entity<Order>().Property(x => x.Items).Include();

    This would greatly simplify client code as it wouldn't have to include on each query/access, and it would also work with Find(key). This would make it more suitable to DDD-style…

    69 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    5 comments  ·  Flag idea as inappropriate…  ·  Admin →

[Closed] Entity Framework Core Feature Suggestions

Feedback and Knowledge Base