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, or visit our MSDN forums. 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?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(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. Formulas in properties / calculated properties

    Allow having properties that contain the result of formulas. The formula should be specified in a new attribute or fluently.

    1 vote
    Vote
    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)
      You have left! (?) (thinking…)
      0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
    • 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
      Vote
      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)
        You have left! (?) (thinking…)
        0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
      • Hook to modify LINQ tree

        This is similar to the idea of modifying a generated SQL. Except that it applies to an earlier stage. I can imagine a scenario where a third party may come up with a really good LINQ optimizer.

        1 vote
        Vote
        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)
          You have left! (?) (thinking…)
          0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
        • Runtime query builder and auto mapper without database schema

          can create query on each database with query string that schema not defined for entity framework and auto map to object

          1 vote
          Vote
          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)
            You have left! (?) (thinking…)
            0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
          • Provide a way to include transaction information in EF logging

            We're able to log the commands that EF is executing, by setting a delegate on DbContext.Database.Log.

            When you do this, you see "Started Transaction at ..." and "Committed Transaction at ..." messages.

            From this, you'd think you could determine the duration of the transactions. You can't. When load becomes high enough for transactions to begin to overlap, there is no way to match the start and commit transaction messages.

            We're able to manipulate the text of the messages that are being logged by deriving a class from DatabaseLogFormatter.

            Within DatabaseLogFormatter.LogCommand() we have access to the DbCommand, and through DbCommand.Transaction to…

            1 vote
            Vote
            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)
              You have left! (?) (thinking…)
              1 comment  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
            • sequence

              support sequence, not only for key, but as a common field/column/property. This should be mapped, in sql server case, to CREATE SEQUENCE.

              1 vote
              Vote
              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)
                You have left! (?) (thinking…)
                0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
              • Ability to hook into ValidationContext creation and set ServiceContainer

                I'd like to set the IServiceProvider in the ValidationContext constructor, so that I can access validation logic outside the IValidatableObject.Validate() method (and within custom data annotations) in a loosely coupled manner.

                As far as I can see, ValidationProvider.GetEntityValidationContext() passes a null for the IServiceProvider and there is no way to override/"hook into" this method or InternalEntityEntry.GetValidationResult() from the public API.

                Something like what ASP.NET MVC or Web API does with DataAnnotationsModelValidatorProvider or ValidatableObjectAdapter might be nice.

                1 vote
                Vote
                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)
                  You have left! (?) (thinking…)
                  0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                • DbDatabase.SetInitializer to take a delegate

                  e.g.
                  DbDatabase
                  .SetInitializer(c => {
                  // do my stuff
                  }));

                  1 vote
                  Vote
                  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)
                    You have left! (?) (thinking…)
                    0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                  • dynamicobject property column mapping

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

                    1 vote
                    Vote
                    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)
                      You have left! (?) (thinking…)
                      0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                    • Better match to SQL querying power and control over loading data

                      I believe Linq to SQL and EF need to step forward in terms of giving power to developers to perform object-oriented queries against database. Many developers find it difficult to work with Linq to SQL because it is a world-away from T-SQL, also EF does not provide a way to query individual fields from database which has huge performance drain. I think the SF team needs to check out Salesforce SOQL. It puts a lot of power in developer's hand and yet it is very similar to T-SQL.

                      1 vote
                      Vote
                      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)
                        You have left! (?) (thinking…)
                        0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                      • 1 vote
                        Vote
                        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)
                          You have left! (?) (thinking…)
                          1 comment  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                        • Specify which entity has the missing column

                          It would speed development if the entity that has the missing column is provided to the user. Thanks

                          0 votes
                          Vote
                          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)
                            You have left! (?) (thinking…)
                            0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                          • Support for Enums with Strange Names

                            Support for Enumerations that use string fields would be outstanding, kind of like you can do in Visual Basic with Enum.["String Name"]. This would add a lot of flexibility.

                            0 votes
                            Vote
                            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)
                              You have left! (?) (thinking…)
                              0 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                            • Support for multiple result sets in .ExecuteFunction() / .ExecuteQuery()

                              A few overload methods can be added, for example:

                              public Tuple<T1, T2> ExecuteQuery<T1, T2>(string query) { ... }
                              public Tuple<T1, T2, T3> ExecuteQuery<T1, T2, T3>(string query) { ... }

                              0 votes
                              Vote
                              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)
                                You have left! (?) (thinking…)
                                1 comment  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                              1 2 3 4 5 7 Next →
                              • Don't see your idea?

                              Entity Framework Core Feature Suggestions

                              Feedback and Knowledge Base