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.

Remember that this site is only for feature suggestions and ideas!

If you have technical questions or need help with EF try StackOverflow or visit our forums.

If you want to report a bug you found in EF use the Entity Framework project page on CodePlex.

If you want to find more information about the Entity Framework go to our MSDN site.

Entity Framework Feature Suggestions

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 vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Make EF IoC Friendly

    Make EF IoC friendly. It would be nice to have extensions to setup IoC w/ EF.

    27 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 →
    • Built-in Advanced Cache Policies for queries and result sets

      Would you guys consider evolving the EF to have Built-in Advanced Cache Policies? For queries and result sets. Keep this data cached in memory, disk, or Azure: appfabric cache, blob storage - based on what you define.

      26 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 →
      • Delete Collections

        I think there would be nice idea if you give method to delete collection. Without using foreach statement.

        Now:
        foreach(var item in collection)
        {
        db.Customers.Remove(item);
        }
        db.SaveChanges();

        and should be simply

        db.Delete(collection);
        db.SaveChanges();

        25 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 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.

          25 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 →
          • Add row_number() support

            Please add row_number() support. Need it in paging scenarios when we need to find a page to which entity belongs

            25 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 →
            • 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.

              25 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 →
              • Allow Disabling the Default Transaction Behavior of ObjectContext.ExecuteFunction()

                EF6 introduced a breaking change to the ObjectContext.ExecuteFunction() API causing it to start a transaction when one does not already exist. This behavior should be made optional.

                25 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 →
                • 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
                  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 →
                  • Support of multilingual entities

                    Some applications require the ability to maintain data in different languages. In relational databases, a common implementation pattern to achieve this is to use a main table for the corresponding business entity with all persistent properties mapped to table fields, and a language (or localization) table for the language dependent properties of the same business entity. A single instance of a language dependent business entity is therefore represented as a single record in the main table, and multiple records in the language table, depending on the number of supported languages.

                    It would be great when EF could support this pattern …

                    22 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 →
                    • Test suite for EF provider compliance

                      There should be a standard EF Test Suite. As the test suite ideally could run against any of the databases, it would ease out the work required to see compliance against different Databases

                      22 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 →
                      • Edmx from dbproj

                        In a large enterprise environment we use vs2010 dbproj to maintain schema objects. The workflow to re-create after changes to schema requires us to deploy a db schema run edmgen2 and re-import all exiting functions and rebuild complex types. Provide a tool that reads dbschema to build edmx and retains functions and complex types if no changes in signatures

                        21 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  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
                        • More informatin 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

                          21 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 →
                          • Converting UpperCase to PascalCase

                            It would be great if you could add feature for designer to convert uppercase table names to pascal case

                            20 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  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
                            • Support IEnumerable<T>

                              Sometimes we wish to expose a collection as read only, normally using IEnumerable<T> instead of ICollection<T>. This is not recognized in the current version, but it should.

                              20 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 →
                              • 19 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 →
                                • Foreign Key naming should use suffix 'Id' (or configurable string)

                                  When generating a model from a database using foreign keys, the model generator ends up calling the foreign key id field 'blah' and the navigation property 'blah1'. Instead the generator should use 'blahId' (or configurable suffix) for the foreign key numeric and 'blah' for the navigation property to make the accessing functions more obvious to developers

                                  19 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 →
                                  • Compiled Code First

                                    The current EDMX designer doesn't work well for enterprise scenarios - it becomes incredibly cumbersome as the number of entities grows. For example:
                                    * It forces the developer to arrange entities visually - once you get over about 10 entities or complex relationships between them, it becomes difficult to do.
                                    * It's difficult to find entities - rather than scan for them alphabetically, I need to scroll around a complex diagram I don't really want.
                                    * The wizards get in the way - updating my model continually prompts me to modify my connection strings, I need to manually select the…

                                    19 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 →

                                      Updating the title. The part about reverse engineering a database into a Code First model is included into our VS tooling in EF 6.1. I mark that as completed and split the part about having a “compiled” Code First model that loads very fast, but splitting ideas is not supported in UserVoice :)

                                    • 19 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 →
                                      • 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.\

                                        17 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  ·  tools  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Ability to intercept and cancel changes to properties

                                          (Note that the original description of this idea talked about making PropertyChangingEventArgs cancellable. Although this is an interesting request, it is not a change we could implement in EF. In fact, there is probably not way it can be implemented in .NET without defining a new standard interface for change tracking)

                                          Rather than declining the idea, I am renaming it to capture the essence that is still potentially applicable to EF: provide a hook that can be used by an application or library to intercept what happens whenever EF detects that a property of a tracked object is being changed…

                                          17 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…)
                                            under review  ·  3 comments  ·  runtime  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Entity Framework Feature Suggestions

                                          Feedback and Knowledge Base