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. Updating the F# SqlEntityConnection Type Provider

    The F# SqlEntityConnection Type Provider is a third way to interact with Entity framework (with the other two being an .edmx file and Code First).
    http://msdn.microsoft.com/en-us/library/hh362322.aspx

    This Type Provider doesn't support the updated low-level API changes that EF 6 requires, as far as I can tell. I'd love to have an updated version that supports the async features of EF 6.

    8 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)

      We’ll send you updates on this idea

      1 comment  ·  Flag idea as inappropriate…  ·  Admin →
    • Support ignoring columns with database provided default value

      If a database defines a default for a column then the column does not need to be mapped to a conceptual schema property anymore. The column is optional (like nullable columns) and the model should validate even if no mapping for the column is defined.

      8 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)

        We’ll send you updates on this idea

        1 comment  ·  Flag idea as inappropriate…  ·  Admin →
      • Map multiple entities to same table

        I should be able to map multiple models to the same table. For example consider a User table. I may have a model for logging in, changing a password, resetting a password and maintaining a user. I would normally create different domain models for each of these use cases. However, I am not able to map these models to a single table.

        Here is a link with a workaround by MSFT, but would like to avoid workaround...
        http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/0f65caae-8a66-431f-aa02-4b2c68f871e9

        8 votes
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)

          We’ll send you updates on this idea

          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • Deprecate Timestamp annotation in favor of RowVersion

          Considering that "timestamp" has been deprecated in SQL Server for some time and is a synonym for the more precise denomination "rowversion", introduce the RowVersion data annotation in EF as an alternative to Timestamp and mark the current Timestamp annotation as deprecated.
          http://msdn.microsoft.com/en-us/library/ms182776.aspx

          8 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)

            We’ll send you updates on this idea

            1 comment  ·  Flag idea as inappropriate…  ·  Admin →
          • 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
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)

              We’ll send you updates on this idea

              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
            • SqlDependency / query notification

              in ADO.NET classic thers an option to get a notification from SQL when data changes in the database, using the SqlDependency class for specific queries. i would like to see this supported in the next EF

              8 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)

                We’ll send you updates on this idea

                1 comment  ·  Flag idea as inappropriate…  ·  Admin →
              • 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
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                • Option to use Inner Join SQL when Eager Loading (AKA IncludeRequired method)

                  When trying to load related entities using the "Include" eager loading feature of EF, it always generates SQL that uses an LEFT OUTER JOIN e.g.

                  from m in Customer.Includes("Orders")

                  will always generate the SQL:

                  SELECT ......
                  FROM Customers
                  LEFT OUTER JOIN Orders....

                  This is not always desirable, especially when you only want to retrieve Customers that have at least one or more related Orders. By forcing the generated SQL to always use LEFT OUTER JOIN, it's going to load all Customers regardless of whether they have related Orders or not. This can become extremely inefficient, especially when there are lots…

                  7 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                  • 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
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • Future Queries

                      I didn´t find any topic about this, but is very important.

                      Its described here: https://github.com/loresoft/EntityFramework.Extended#future-queries

                      // build up queries
                      var q1 = db.Users
                      .Where(t => t.EmailAddress == "one@test.com")
                      .Future();

                      var q2 = db.Tasks
                      .Where(t => t.Summary == "Test")
                      .Future();

                      // this triggers the loading of all the future queries
                      var users = q1.ToList();

                      7 votes
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                      • 7 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                        • Add FILEGROUP Support

                          It should be possible to create tables, indices, etc. on different file groups in order to improve performance.

                          7 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

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

                              We’ll send you updates on this idea

                              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • Be able to configure initial value for identity column

                              Currently when configuring Identity columns we can't declare the initial value. It would be nice to add an option in order to specify the initial value. This is not respected when we reverse engineer an existing database as well

                              7 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

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

                                  We’ll send you updates on this idea

                                  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                • 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
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Support concurrency checks in derived types when using TPT inheritance

                                    Remove the limitation to perform concurrency checks on derived types. Now you may only use properties from the base type for concurrency checks.

                                    7 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Code First better attributes

                                      * Decimal Scale/Precision
                                      [Column(DecimalScale=18, DecimalPrecision=2)]

                                      * Nullable indication (For string is essential):
                                      [Column(NotNull = true)]

                                      * All in one:
                                      [Column("TestName", NotNull = false, MaxLength = 250, MinLength = 3, Default = ""])
                                      public String Name { get; set; }

                                      [Column(NotNull = true, MaxLength = 0, Default = 0])
                                      public int Count { get; set; }

                                      7 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                      • 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
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Object graph deep clone and object shallow Clone

                                          It would make sense to allow shallow and deep cloning as a default requirement. There are currently some work-arounds, like serializing and then deserializing or even detach and re-attach, but each has their downfalls and it makes sense to me to include such functionality in by default to ensure highest performance and stability

                                          6 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            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