[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. Table splitting without primary key

    Should I have entities that use table splitting for storage, but do use a foreign key that is not the primary key, I want to be able to bring and store the data of them with the same structure I use for table splitting in fluent API as I do now with primary keys.

    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. Persistent caching of auto-compiled queries

    I know that EF code first automatically compiles queries and caches the results. But "Cold" queries are so slow.. Is possible to persist auto-compiled queries somewhere in the database so EF won't need to re-compile them again if that cache is lost (app restarted).

    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. Optional Convention that assigns Default Value to not nullable types

    When using code first with an existing database, the "can not assign null to a non nullable type" exception can be realy painfull, because the compiler gives no warning, when i project a int? to a int.

    It would be very usefull to have a Convention / Configuration that enables the automatic use of GetValueOrDefault for these cases.

    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. Generate DbSet.FindByKey method taking typesafe primary key

    The Find method on DbSet just take a "params object[] keyValues" parameter - not very typesafe.

    I would suggest amending the standard templates to generate

    public static class ExtendDbSet
    {
    public static MyEntity FindByKey(this DbSet<MyEntity> dbSet, Guid id)
    {
    return dbSet.Find(id);
    }
    }

    where the id parameters are generated.

    2 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 →
  5. 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 →
  6. Persist/Query Calculated Properties (read-only)

    This is a very useful feature that is supported in NHibernate. Given this property in the Order Entity:

    public decimal OrderTotal
    {
    get { return Items.Sum(o => o.Total); }
    }

    EF should persist this "read-only" property which can also be used in LINQ queries.

    var results = from order in DbSet<Order>
    where order.OrderTotal > 100
    select order;

    I believe a current work around is to include an empty protected setter but that has code smell all over it.

    2 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 →
  7. 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 →
  8. 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 →
  9. 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 →
  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. DbContext Generator/Reverse Engineer Code First features should generate POCOs with virtual properties to enable change tracking proxies

    Currently, the EF 4.x DbContext Generator code generation item as well as the Reverse Engineer Code First menu item generates POCO classes that only have virtual on navigation properites. Hence, a lazy loading proxy will be generated for the classes at runtime. However, a change tracking proxy will not be generated. This causes performance problems if you have a lot of objects in the object context. Please at least add an option for making all the properties virtual, or, just make it do that by default.

    2 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. Cross Model Navigation Properties

    I've read http://blogs.msdn.com/b/adonet/archive/2008/11/25/working-with-large-models-in-entity-framework-part-2.aspx

    but, it's a total mission and I haven't had enough time to get it working. I'd like to add an association which bridges two models using the designer. Both models contain tables from the same database.

    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 →
  13. Materialized event but where is the De-materialize event or override?

    We need to encrypt data (in use via WPF databinding) during the EF4.2 context.SaveData() process. Can't find a place to encrypt without the UI showing the encrypted data. We need a De-materialize or something that allows encryption without affecting the UI. If it's already available, I can't find it. Essentially need the opposite of Materialized event.

    2 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. TPH should use Discriminator Expression

    Allow via DataAnnotation or Fluent API which column in an abstract class is the Discriminator. For example, in a Vehicle table you could identity a VehicleType [int] as the discriminator.

    Then in derived class (e.g., PassengerCar) you could identity what values (or set of values) distinguish the type in the table. For example, [DiscriminatorExpression("VehicleType in (1,4,7,10)")]

    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 →
  15. Property to inform when entity is being materialized

    If you perform business logic in the entitys OnPropertyChanged event handler, eg. calculating some related properties or changing a state property when certain properties are changed, your code is also run when the entity is fetched from the database. This is not a real change of the entity, it is just being loaded. It would be nice if the EntityObject class had a property bool IsMaterializing that was true so you could break out of the OnPropertyChanged handler.

    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 →
  16. Complex (struct) key properties for tables with multiple primary keys. Enabling easier search by key

    Some tables have more than one field included in primary key.

    This makes definition of generic methods that search by key hard to implement.

    If it would be possible to combine all database keys into one struct in model, and enable T4 templates to recognize which property is the key, template-generated repository could be much more powerful.

    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 →
  17. 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 →
  18. Cascade Delete with Triggers

    Using triggers for cascade delete/set allows for multiple cascades on the same table where the built-in sql server cascade does not

    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. IObjectSet .Find() Medhod

    IObjectSet .Find() Medhod

    2 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 →
  20. User Definable Attribute on Entities and Navigation Properties

    Can we have the ability to add user defined meta data to entities and properties so that we can pick up on these using T4 Templates. One such example is in the DataMemberAttribute, this takes a priority in the constructor it would be nice to be able to add this as a metadata value on a property, we need this so that we can use entities both in WCF and RIA Services, at the moment we have hijacked the summary field for this purpose.

    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 →

[Closed] Entity Framework Core Feature Suggestions

Feedback and Knowledge Base