[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. LINQ support for comparison of varbinary columns

    It is not currently possible to write a LINQ query that compares a value to data stored in a varbinary column. By comparison, I mean SQL-supported <, <=, >, >= comparisons that lexicographically compare the bytes in the column.

    As far as I know there is no way to write these queries without stepping down into Entity SQL.

    see http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/f90dec50-acc7-4157-8927-acb246ec3572 for more.

    23 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. Support for DateTime built-in operations in LINQ to Entities

    Some customers want to write queries that include such expressions as "date1 - date2" or "datetime3 + timespan1 > datetime4". LINQ to Entities currently support some of date/time operations through the EntityFunctions.AddX and DiffX functions, but it doesn't support built-in operators with data/time types.

    15 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 →
  3. Support for SQL Server Change Data Capture (or at least tables with no primary keys)

    Change Data Capture is one of the coolest features in SQL Server 2008+. I know it's not core to tailor things for one database technology, but this feature is completely unsupportable in the current EF because EF doesn't allow tables without PKs (and the tables SQL Server gens for CDC have no PKs). Ideally, some sort of real support would be allowed that would allow for some sort of Entity.CDC or something that would string together the tables that an entity uses ... but that is probably a bridge too far.\

    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 →
  4. Decouple entity creation in EF and support entities without default constructors and publically settable properties

    EF should decouple the implementation of the entity objects from the mapping functionalities. The EF team could provide the current entity creation as a default variant which can be attached to the mapper. The developer has the option to provide it's own data transfer object layer. Therefore we need to abstract the entities through interface usage an a generic naming schema (dot notation of an object model like Person.Name). So the EF would be much more flexible to use.

    Note by Diego Vega: I am merging this idea with a few other ideas that are approximately equivalent but extend in…

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

    We’ll send you updates on this idea

    11 comments  ·  Flag idea as inappropriate…  ·  Admin →

    This feature is at least partially implemented in EF Core 2.1. There is no custom binding but many additional patterns are now supported by convention, including injecting the property values in the constructor, injecting instances of services also in the constructor and on properties.

    Direct mapping to fields was already supported in 1.1.

  5. Custom Accessors (Getters/Setters) in CodeFirst

    I should be able to put basic data validation on all of my public fields.

    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 →
  6. Ability to intercept when an association is being changed

    There should be an AssociationChanging in System.Data.Objects.DataClasses.RelatedEnd class, so I can validate before items get attached to a relation.

    9 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. Suppress specific errors/warnings

    When doing "Model First" development THERE IS NO BACKING STORE. I don't want to create a phony one. I don't want a store or any mapping to one ... period. I'll deal with that when the time comes. But I should be able to model away w/o a map or store.

    Ok ... you should provide a warning ... as you do. during validation I get a raft of 11007 and 11008 "errors" and a 2062 error during compilation.

    But I should be able to suppress those warnings and errors as well.

    In Model First you do NOT specify mapping…

    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. Support for streams instead of byte arrays for varbinary fields

    Support for mapping System.IO.Stream to Binary fields

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

    We’ll send you updates on this idea

    8 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Support SQL Server Schemas/Owners as CLR namespace/classes

    SQL Server schemas (or owners) should reflect into CLR namspace branches or inner classes.

    If you have Sales.Customer and Orders.Customer on the database, that shouldn't be Customer and Customer1.

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

    We’ll send you updates on this idea

    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Write EntitySet as XML like DataTable.WriteXML()

    Ability to save contents of a loaded entity set into an xml file to persist into hard disk then load again like is possible in data tables

    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 →
  11. Support all mapping inheritance strategies

    Support all mapping inheritance strategies, well documented, as mentioned here: http://www.agiledata.org/essays/mappingObjects.html

    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 →
  12. Generate the Association objects based on the Foriegn Key Column Name

    Generate the Association objects in a model based on the Foriegn Key Column Name rather than "Association1", "Association2" etc

    4 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 →
  13. Improve Model First: allow choosing inheritance strategy on a case by case basis

    In my models, there are hierarchies that are persisted using TPT while others are persisted using TPH. It would be great if we could choose the strategy and then have Generate Database From Model create the tables depending on our choice.

    7 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. 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 →
  15. Provide Refactor Into Existing Complex Type

    In the designer we can Refactor Into New Complex Type, but once we have done this we cannot Refactor all other instances into Existing Complex Type.

    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 →
  16. support for ordering in Include()

    using the include() with a 1 to many relationship, the data are loaded in the list without any specific order, forcing often to reload directly specifying the sort order

    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 →
  17. More descriptive error message when using non-generated POCO - Mapping and metadata information

    Need more detail as to why EF gives this excpetion "Mapping and metadata information could not be found for EntityType". Usually it is a name mismatch, but with large modesl it can be hard to pinpoint the source of the error.

    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 →
  18. ObjectContext.CreateObject(Type t) needed

    I am creating a mapping layer, and would like to dynamically determine the concrete POCO to use when creating an object throught the ObejctContext. I need to be able to pass the Type object into CreateObject.

    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. Improve conditionals on Table-per-Hierarchy

    It never works when your conditionals are based on a int column so where Type=1 etc. Only seems to work for when some column Is Null. It complains about mapping when you try and do this. Seems impossible to work around

    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 →
  20. Enable working config free or with unregistered providers by passing a DbProviderFactory

    Need the ability to use an ObjectContext (or equivelent type) with an unregistered provider. Passing in a DbProviderFactory or DbConnection would be acceptable implementations.

    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