[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. 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 →
  2. 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 →
  3. 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 →
  4. 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 →
  5. 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 →
  6. 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 →
  7. Bulk Insert

    ADO.Net supports bulk insert for big amount of data. With the help of this library
    http://archive.msdn.microsoft.com/LinqEntityDataReader
    It is possible to do Bulk inserts with entities. But it would be nice if there would be a integrated approach.

    16 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. 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 →
  9. 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 →
  10. 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 →
  11. 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 →
  12. 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 →
  13. 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 →
  14. Change Entity Framework behavior when constructing it(EF automatically fetches tables' structure from master.INFORMATION.SCHEMA.TABLES)

    EF automatically fetches tables by accessing the master.INFORMATION_SCHEMA.TABLES. It will cause problem when I have no permission to get access to the master database on a web server.
    A good solution could be the way how LINQ2SQL get tables(users have to drag tables they want into the O/R designer).

    Please let me know when are you going to update this behavior, coz I'm going to start a new project very soon and really want to use EF.

    Cheers,

    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 →
  15. A code-generated clone() method for EntityObject

    It is often useful to be able to deep-copy an entity. Currently, some lifting is required to get this done; most suggestions on how to copy entities require serialization and/or reflection and therefore are performance hogs.

    The EF has what it takes to offer a really efficient clone() method: the framework could provide generated code that simply copies the required properties. As for referenced data, I suggest that that can be copied optionally and that it can stay in memory even if the clone is detached.

    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 →
  16. System.Data.Entity.DbSet<TEntity>.Create() method overload for taking n parameters

    The idea would be to overload Create() method on DbSet so as to take any parameters, resolving to the constructor tha best fits, like so

    public TEntity Create(params object[] args);

    (I understand the generated proxy for change tracking and nivigational properties support should honor all constructors defined on the TEntity type)

    This would allow for a much cleaner (and layarable) DomainModel. Entities may now be created from required values and the need to set those values (i.e. the need for public setters) after the creation dissapears.

    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 →
  17. 4 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 →
  18. Add Support for custom Extension methods

    Support extension methods to be defined for entities or generic extensions. As long as the extension returns an IQueryable or expression that only includes supported operations/extensions, then the provider should expand the extension method and replace it in the expression tree with the the returned iqueryable/expression.

    Thus for the most part, any extension method encountered in the expression that is not supported, should be called to return an expression that can be inserted into the expression tree. So long as the process operators recursively as it is expanding the expression, eventually the expression tree will consist of supported expressions and…

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

    We’ll send you updates on this idea

    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. More information from referential integrity constraint violation exception

    I get so frustrated by the referential integrity constraint violation and the fact that the exception thrown contains no information about which fields are causing the problem.

    Here's the full message for reference:
    "A referential integrity constraint violation occurred: The property values that define the referential constraints are not consistent between principal and dependent objects in the relationship."

    Could you please update this exception to provide some key information so that we can track this issue down?

    Thanks,
    -Aaron

    8 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. Provide Designer Mapping support from a Conceptual Model to multiple Storage Models

    Currently, when using Entity Framework tools from other vendors, a developer has to manually create and modify the mapping from a Conceptual Model to another Storage Model (such as from Oracle) in order to support persistence to multiple database platforms. Instead, it would be great if Visual Studio offered designer support to easily and readily map a .csdl to one or more storage models. This would eliminate much of the current tedium required to support multiple database platforms using Entity Framework.

    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 →

[Closed] Entity Framework Core Feature Suggestions

Feedback and Knowledge Base