Entity Framework Feature Suggestions

Welcome! You can use this site to tell the Entity Framework Team what features you want to see in future versions of our products.

Note that moving forward our team will be only fixing bugs, implementing small improvements, and accepting community contributions in the EF6 codebase. Larger feature work and innovation will happen in the EF Core codebase.

Please consider other options besides this site!

  • If you have technical questions or need help, try StackOverflow (EF6 and EF Core) or visit our forums.
  • If you want to learn how to use our products, visit our documentation pages.
  • If you want to report bugs or make contributions, visit our project pages on GitHub: EF6 and EF Core.

How can we improve Entity Framework or 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. Generate repositories and units of work

    I'd like to see a well designed EF project template that made use of the Repository pattern for abstracting the data access technology. This should showcase best practices for using Code-First and POCO entities, UnitOfWork abstractions, solutions for querying entities that span multiple repositories, etc. This information is pretty hard to come by for EF but available in abundance for other ORMs.

    65 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  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
    • More options in Code-First db generation

      There should be more control on the generated Database:
      - Default values,
      - Relationship names,
      - Description fields should/shouldn't be gererated (according to metadata/xml documentation in the entities)
      - Constraints
      - Propery enum types should be automatically generated to the underlying enum type (enum AddressType : byte should be stored as byte)

      61 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…)
        2 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
      • Hooks to intercept and modify queries on the fly at high and low level

        We have seen that there are lots of discussion surrounding the generated SQL not being optimized. Entity Framework should have a provision wherein User should be able to change the Generated SQL and use it for further processing through some mechanism

        58 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…)
          3 comments  ·  Flag idea as inappropriate…  ·  Admin →

          EF6 added initial support for interception, which exposes events for query interception. Currently only access to store DbExpression trees and DbCommand are available, but interception at different levels should become possible in the future.

        • Extensible Id Generation

          Support for other id generation algorithms: sequences, hi-lo, etc.

          58 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 →
          • Support for LIKE with wildcards (% _)

            There is no way in EF to do a true native LIKE with wildcards (% and _). "Contains" limits you to %value%. Would like to be able to specify the wildcards within the LIKE myself. For example:

            select * from table where name like '%a_b_c%'

            At the moment there is no way to do this unless you use SqlQuery/ESQL.

            Other options, such as INSTR are not desirable alternatives.

            55 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  ·  Flag idea as inappropriate…  ·  Admin →
            • Update model from database should update CSDL section

              As per http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/e05f6c62-2dbd-4c3f-87f9-c30c184597c5, “Update Model from Database” updates only the data type lengths and nullability, however, it won’t always refresh the CSDL section.

              Due to this behavior, every time I update my database schema, I need to delete the .edmx file from my project and re-generate the ADO.NET entity model again from the database. BTW, this also requires a kludge to remove the previous ConnectionString from app.config, or else the names of the generated entities are not the same.

              I would like Update to work as if I had started from scratch, and not some optimized way I don't…

              55 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  ·  Flag idea as inappropriate…  ·  Admin →
              • Stored procedure support for eager loading graphs

                So far a stored procedure can return only a plain entity. It would be great if we could create a stored procedure that returns orders and details information in a single roundtrip.

                55 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 →
                • Ship symbols (pdb) for EntityFramework 6.X

                  How painful that I can't step into the EF souce code to debug an issue I'm seeing.

                  53 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…)
                    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                  • 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.

                    52 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  ·  Flag idea as inappropriate…  ·  Admin →
                    • 51 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…)
                        2 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                      • An ADOMD.NET Provider for EF, for retrieving multidimensional data from cubes over EF to POCOs

                        We are working on big BI projects for different customers and it would be great, if we could use only one technology to get the data (both multidimensional and relational) handling. It would be great to send mdx queries to a SSAS cube, retrieve the data and have a possibility to map the retrieved data for example over annotations to POCOs.

                        49 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  ·  Flag idea as inappropriate…  ·  Admin →
                        • Make LINQ to Entities recognize GetValueOrDefault()

                          I have a LINQ query that involves a nullable integer. When I try to run the query, I get the following error:

                          "LINQ to Entities does not recognize the method 'Int32 GetValueOrDefault(Int32)' method, and this method cannot be translated into a store expression."

                          I am not a L2E or EF guru in the least, but it seems like that should translate to the SQL ISNULL function shouldn't it?

                          Regardless, can you please make this functionality work?

                          45 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…)
                            2 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                          • Entity Framework support for Windows Store apps

                            System.Data.dll -- which is fundamental to EF -- is not available inside Windows Store Apps. Thus development of Windows Store apps is two steps back of where WPF and Silverlight development have been.

                            43 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…)
                              2 comments  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
                            • Entity Designer: Improve Model First to preserve user intent (aka support Migrations for EDMX)

                              The "Generate Database from Model" feature is referred to as Model First. There are functions in the power pack (http://bit.ly/8akJIs) to incrementally update my database from my model but it doesn't fully preserve user intent. For example, if I rename an Entity, I just want to rename the table, not drop the table and its data and add it again.

                              41 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  ·  Flag idea as inappropriate…  ·  Admin →
                              • AddObject or Attach should not add or attach whole object graph

                                AddObject and Attach methods should have optional parameter to specify, if I want to add or attach whole object graph or the signle object only.

                                If I have two related objects, which are detached) and one is new and the other existing, it is very tricky to put them in ObjectContext.

                                40 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…)
                                  2 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                                • Support for MERGE (UPSERT) statement

                                  I would like to see the T-SQL MERGE statement supported. For multi threading situations it really would be useful.

                                  38 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 →
                                  • Result of Sum() of an empty set should be 0 rather than NULL in LINQ to Entities

                                    Currently if an empty set is expected it is necessary to cast either the result or the input elements of Sum to Nullable<T> to compensate for the type mismatch between the SQL database and the signature of the methods in LINQ.

                                    38 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…)
                                      6 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Client Side Profiler

                                      Create a client side profiler that will log running queries and statistics for the various data contexts. Also provide helpful tips to improve performance if applicable. Similar to what NHProf already does for NHibernate.

                                      35 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…)
                                        2 comments  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Synonym Support

                                        The ability to create an entity for a synonym in the database.

                                        32 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…)
                                          3 comments  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
                                        • More constructors for providing connection string information to MigrateDatabaseToLatestVersion

                                          I'm obtaining my connection string through a non-default mechanism. When I Database.SetInitializer() to the MigrateDatabaseToLatestVersion<,> class, I cannot specify a DBConnection, DBConnectionInfo, or connection string even though the DBMigrationsConfiguration has a TargetDatabase property. I would prefer to be able to pass a DBConnection into the initializer class (since I'm using the same method to instantiate my DbContext); however, I should at least be able to pass in a DBConnectionInfo so that I don't have to subclass or use servicelocation just to use my own connection string.

                                          32 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 →
                                          • Don't see your idea?

                                          Entity Framework Feature Suggestions

                                          Feedback and Knowledge Base