[Closed] Entity Framework Core Feature Suggestions

This web site is planned to be retired on July 31, 2019, and it is no longer being monitored by the EF team at Microsoft.

We have decided to unify our feedback process to focus on our existing issue trackers at GitHub.com. We are not planning to migrate the list of ideas posted here, because some of these ideas and votes were submitted a long time ago and therefore the number of votes likely does not accurately reflect the current priority for customers.

You are welcome to re-submit your favorite ideas to our issue trackers. We only request that you first search for existing issues and try to avoid creating duplicates.

Please visit the EF Core issue tracker or the EF6 issue tracker depending on what product you want to report bugs, make contributions, or submit ideas for.

Note that our team will only fix bugs, implement small improvements and accept community contributions on the EF6 codebase. Larger feature work and innovation will happen only on EF Core.

If you want to learn how to use our products, visit our documentation pages.

If you have technical questions or need help, consider asking in Stack Overflow using the EF Core or EF6 tags.

Note that roadmap questions, bug reports, feature requests or ideas are not appropriate for Stack Overflow. Visit Stack Overflow’s help center for guidance on appropriate usage.

Search for existing suggestions

(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. Raise event right after EntityObject is materialized

    When an EntityObject is materialized (i.e. after all its values are loaded from the database) an event should be raised.
    I want to perform some setups and things each time the entity's data is set in its properties (including nav properties), there is no way to raise such an event, especially not with navigation properties where the AssociationChanged event is not raised at all for loading from db).
    After the Constructor passes and the properties are all set with data from db, that event should be raise.
    Should be something like EntityMaterialized or EntityLoaded etc.
    In general I think the…

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. Suppress specific errors/warnings

    When doing "Model First" development THERE IS NO BACKING STORE. I don't want to create a phony one. I don't want a store or any mapping to one ... period. I'll deal with that when the time comes. But I should be able to model away w/o a map or store.

    Ok ... you should provide a warning ... as you do. during validation I get a raft of 11007 and 11008 "errors" and a 2062 error during compilation.

    But I should be able to suppress those warnings and errors as well.

    In Model First you do NOT specify mapping…

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. ObjectContext.CreateObject(Type t) needed

    I am creating a mapping layer, and would like to dynamically determine the concrete POCO to use when creating an object throught the ObejctContext. I need to be able to pass the Type object into CreateObject.

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Improve conditionals on Table-per-Hierarchy

    It never works when your conditionals are based on a int column so where Type=1 etc. Only seems to work for when some column Is Null. It complains about mapping when you try and do this. Seems impossible to work around

    2 votes
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Composite Primary Key via Data Annotations

    Please allow us to use Data Annotations to define composite primary keys, like we could in EF6. This helps centralize each tables definition, making things clearer.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Check Constraints

    Add support for SQL Server's check constraints when using the ModelBuilder.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Allow the database schema for the database context to be specified at run-time

    We use Oracle databases with different schemas for Train, Val, Prod, etc. for client installs, and even more schemas for internal Dev/Test databases (separate schemas for running manual tests, different schemas for different versions being developed/tested, etc.).

    The current restriction of having to specify a specific schema in the model means that we straight up can't use Entity Framework.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  9. Ability to exclude prefixes/patterns from model entity names

    It would be great if a model could be created from an existing database (database first) without including certain SQL naming conventions that may be in place. E.G. Rather than creating a POCO class named tbl_Person, I can tell the tool to exclude the "tbl_" prefix and the class is simply named Person. This would be useful for column/property mapping as well. Being able to use regular expressions for the replacement would probably be helpful. This would be useful when generating 10s to 100s of entities from tables so that they don't have to be renamed individually.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. AddOrUpdate method

    It would be great if we can have the AddOrUpdate(...) and AddOrUpdateRange(...) Function in EF7.

    Just set the expression inside the function or set index and EF check if the to be inserted file need to be added or inserted

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Support for POCO views using Entities

    Currently i have a problem of showing a link between different entities - Say students, courses and lectures. Students have few of the attributes of courses, and lectures also have few overlapping attributes of courses (used via reference keys). To show these 3 entities together in a model / UI view, i will always have a compute a single model and bind it to UI. For each change in entities i have to update model (and vice versa). Instead if i get a new POCO view (assuming its supported by EF), i can always show latest data using the new…

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Option on Import from DataBase to choose how to resolve the conflicts on object names on differents schemas

    Add an option when using "update from DataBase" to choose how to resolve conflict name when two or more object have the same names but in diffrents schemas.
    Auto resolve -> add a number at the end of object name.
    Suffix or Prefix -> add the schema name to the objects names.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. createstoredprocedure Xml ParameterBuilder

    CREATE PROCEDURE [dbo].[sp_DownloadItemXml]
    @ItemId [int],
    @ReturnXML XML = NULL OUT
    AS
    BEGIN ....

    Add System.Data.SqlDbType 'Xml' equivalent to System.Data.Entity.Core.Metadata.Edm.PrimitiveTypeKind to allow an XML parameter to be generated when calling CreateStoredProcedure.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Add a UI for migrations to Visual Studio

    Many people have problems in using command line interfaces, as they are used to the visual studio click and go experience. It would be great if you could right click on a file that contains a dbcontext and then add-migration or update-database.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow different key names for parent entity

    It would be useful to be able to create relationships between entities where the parent entity does not use the primary key as it's end of the relationship. For example:

    public class Signer
    {
    [Key, Column(Order = 0)]
    public Guid EntityUUID { get; set; }

    [Key, Column(Order = 1)]
    public Guid SignerUUID { get; set; }

    [ForeignKey("EntityUUID")]
    public virtual User User { get; set; }
    }

    public class User
    {
    [Key]
    public int Id { get; set; }

    //Allow this column to be set as the key for signers instead of always using Id
    public Guid? EntityUUID { get; set;…

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. sp_fkeys

    Using code first, when you try to apply "update-database" and you receive the message: "Could not drop object 'dbo.Table1' because it is referenced by a FOREIGN KEY constraint."

    The message should show the result of the command "sp_fkeys", then easily the developer can identify the keys to remove.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Azure Storage

    I know it was said that Azure Table Storage support will come after the SQL Server support for ASP .Net 5 is done.

    I'm just saying, I still want this as soon as possible.

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Designer support for specifying Interfaces for Entities

    I have an interface that a lot of my entities support.

    interface Audit
    {
    DateTime CreatedAt,
    int CreatedBy,
    DateTime ModifiedAt
    int ModifiedBy
    }

    It would be nice to be able to mark Entities as supporting this interface in the designer.

    See also http://stackoverflow.com/questions/4093897/interface-inheritance-in-entity-framework

    1 vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. 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
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →

[Closed] Entity Framework Core Feature Suggestions

Feedback and Knowledge Base