Entity Framework Core Feature Suggestions

Welcome! Use this web site to submit ideas and vote for what features you want to see in future versions of Entity Framework Core.

Our team will only fix bugs, implement small improvements and accept community contributions in the EF6 codebase. Larger feature work and innovation will happen only in the EF Core codebase. If you have ideas for improving EF6, we recommend you submit them on the EF6 GitHub site listed below.

Please also consider these other options before submitting anything to this site:

  • If you want to learn how to use our products, visit our documentation pages.
  • If you want to report bugs, make contributions, or learn about our product roadmaps, visit our EF Core or EF6 project pages on GitHub.
  • If you have technical questions or need help, try StackOverflow’s EF Core or EF6 tags. Note that roadmap questions, bug reports, feature requests or ideas are not appropriate for StackOverflow. Visit StackOverflow’s help center for guidance on appropriate usage.

How can we improve Entity Framework Core?

(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 another Entity as a Key

    Since all entities require a key, declaring an entity 'A' as a key in another entity 'B', EF could lookup the key for that entity (A), and use it as the key for this entity (B) too. This keeps the model classes in .NET "clean" in the sense they don't need to duplicate they key field. E.g.

    class A {
    string Key { get; set; }
    }

    class B {
    A Key { get; set; }
    //Not required, since A has a key defined on it already, and our key is of type A
    //string KeyWhenPersistedToARelationalDatabase { get; set; } …

    1 vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)

      We’ll send you updates on this idea

      1 comment  ·  Flag idea as inappropriate…  ·  Admin →
    • AsNoProxy()

      I would like to be able to query for a set of Entities and not have it return Proxies on a one off basis

      1 vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)

        We’ll send you updates on this idea

        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
      • Allow foreign key relationships to be configured from within code first Conventions

        I'm currently in the situation where I need to create a foreign key relationship for about 40 entities in my edmx back to a common "Users" table. I'd like to be able to solve this problem using Conventions, but it appears I cannot access the HasRequired or HasOptional functions from within a convention. I believe making these functions available would be a real time saver.

        1 vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)

          We’ll send you updates on this idea

          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • Isolate the migrations from EF

          The migrations in EF is great. I'd love to see it isolated, so it can be installed seperatly.

          Not every project needs the full EF (in DDD layer, Migrations isn't required, but my .Data or DAL layer needs it) and this would make it easier to use tools like Dapper (that doesn't have a Migrations included)

          1 vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)

            We’ll send you updates on this idea

            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • Allow indexers in LINQ queries

            Let us access indexers in the LINQ queries... Why do I need to save named POSTed data to an intermediate variable before I use it once to query the database? It worked fine in LINQ 2 SQL, and I have been waiting for it to be fixed since EF4.

            1 vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)

              We’ll send you updates on this idea

              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
            • Entity Framework maping data definition language of Description schema

              @code first
              The Name property can mapping DDL of Description schema
              public class Person
              {
              public int Id { get; set; }

              [Description("姓名")]
              public string Name { get; set; }
              }

              @database first
              Description schema can convert property's DescriptionAttribute

              @SQL
              CREATE TABLE [ConsoleApplication3.MyDbContext].dbo.People (
              Id int IDENTITY,
              Name nvarchar(max) NULL,
              CONSTRAINT [PK_dbo.People] PRIMARY KEY (Id)
              ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
              GO

              EXEC sp_addextendedproperty N'MS_Description',
              N'姓名',
              'SCHEMA',
              N'dbo',
              'TABLE',
              N'People',
              'COLUMN',
              N'Name'
              GO

              1 vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)

                We’ll send you updates on this idea

                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
              • Make PrimitivePropertyConfiguration.HasDefaultSqlValue("") or DataAnnotation attribute [DefaultSqlValue("")]

                This will make easier to set values like GETUTCDATE() for DateTime columns or other internal SQL functions.

                1 vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                • Multi-Threading Support

                  Make contexts thread-safe & provide support for concurrent data access without having to await each task to complete

                  1 vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                  • Support for working with databases with a lot of models

                    EF needs better support for working with large models. Our developers are having very hard times with merging models between projects that are concurrently executing. Our database has over 500 tables.

                    1 vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • dynamicobject property column mapping

                      Allow entity framework to map dynamicobject's dynamic property at OnModelCreating event.

                      1 vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                      • Provide EF Code-First migrations support for one DbContext but multiple shard databases

                        I have a DbContext that is initialized with a connection string in its constructor. Each connection string points to a database that has the same exact schema as any other and is treated as a unique shard of a SQL farm.

                        I want to be able to add migrations once and update all databases with ease. This is particularly useful for web applications that need to scale out their DB layer.

                        1 vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                        • Make DbDataReader available to ObjectMaterialized event handlers

                          In many cases, we use joins or custom queries to return additional related data for an entity. Its a bit of paint today to manipulate this custom data and load it into the entity selectively.

                          I have found a workaround using the Translate method on ObjectContext. Basically in such cases, we will execute the query manually and have the entities materialized using ObjectContext.Translate. Before invoking this method, we save the Reader in an instance variable for DbContext that is later available in ObjectMaterialized event.

                          This is working great, just that we need to ensure to use Translate when we need…

                          1 vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • Support ObjectContext.Translate on joined result sets

                            We sometimes end up doing 20 or more result sets in a single stored proc. Many times, a large majority of these are to bring back a single entry for each navigation property mapping.

                            I would like to see a "wide" translate function.
                            If a query has:
                            SELECT a.*, b.*, c.*, d.*

                            I'd like to see a version of Translate that can map each row to 4 separate object types, using the assumption that all of object A's columns are first, followed by B's, etc.

                            This would greatly reduce the size of our stored procs, though there could be a…

                            1 vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • Replication at the EntityFramework SaveChanges level

                              Implement Replication to other databases in SaveChanges.
                              I've tried to do it, but I can't save autogenerated IDENTITY values in replicated db's.

                              1 vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                              • Events for Insert and Update

                                Some sort of hook to allow for custom managed code to be run when inserts and updates happen. Usage Scenarios:
                                1) allow for SignalR updates of data realtime.
                                2) complex validation rules.
                                3) awesome cache invalidation
                                4) additional logging techniques

                                1 vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                • Use ICustomTypeProvider to aid in a runtime customisable multi-tenant solution

                                  It is easy enough to add properties to a ICustomTypeProvider class but getting EF to recognise the added field would make producing a customisable multi-tenant solution a lot easier.

                                  1 vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Better integration with Mainframe datasets

                                    Better integration with Mainframe datasets: instead of screen scraping or CTG or even Host Integration Server, using a EF Provider to unlock the data in a main frame would be a huge benefit to .NET developers

                                    1 vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Allow dependent Foreign Key properties to have a StoreGeneratedPattern of Computed

                                      Allowing dep. FK properties of the model to be generated by the database is useful for activity auditing (e.g. user logged into the DB gets their employee ID attached to the record by a trigger in insert/update).

                                      I understand the issues of having the DB generate the value (the value could violate the FK), but I put that on the same level as a DBA or other admin changing values that violate the FK (since the DBA or admin is likely doing the coding of the trigger itself).

                                      1 vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                      • 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
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        • 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
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Entity Framework Core Feature Suggestions

                                          Feedback and Knowledge Base