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.
-
Better change tracking for POCO proxies
I've noticed that in the proxied poco classes, an entity is marked as modified whenever a property is set, regardless of whether the value has actually changed. I think it would be nicer if only truly modified entities are flagged as modified.
274 votes -
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.
27 votes -
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 -
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…
4 votes -
Having a real designer...
It should be great to have a designer which supports all mapping (so which allow us to realize TPC, Horizontal Entity Splitting).
It should be great to have a designer that supports partial model views as I did (http://msmvps.com/blogs/matthieu/archive/2009/04/07/edm-designer-new-version.aspx, http://msmvps.com/blogs/matthieu/archive/2009/04/11/edm-designer-new-feature.aspx)
It should be great to be able to see complex types on the designer and not only on Model Browser window as I did (http://msmvps.com/blogs/matthieu/archive/2009/01/07/edm-designer.aspx).
It should be great to not lose all our ssdl changes when we update the model from db.22 votes -
Custom Accessors (Getters/Setters) in CodeFirst
I should be able to put basic data validation on all of my public fields.
9 votes -
Enable primary key to be updated
There are many database tables that have tables with a primary key of type int and are not autoincremented
it should be nice to have Ef generate code to allow updating the primary key.12 votes -
Hooks to modify the Generated SQL on the fly
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
21 votes -
Ability to intercept when an association is being changed
There should be an AssociationChanging in System.Data.Objects.DataClasses.RelatedEnd class, so I can validate before items get attached to a relation.
14 votes -
Decouple entity creation in EF and support entities without default constructors and publically settable properties
EF should decouple the implementation of the entity objects from the mapping functionalities. The EF team could provide the current entity creation as a default variant which can be attached to the mapper. The developer has the option to provide it's own data transfer object layer. Therefore we need to abstract the entities through interface usage an a generic naming schema (dot notation of an object model like Person.Name). So the EF would be much more flexible to use.
Note by Diego Vega: I am merging this idea with a few other ideas that are approximately equivalent but extend in…
211 votes -
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
21 votesUpdating the title to reflect what I believe is the original intent of JK.
-
Support for stream instead of byte[] for varbinary fields
Support for mapping System.IO.Stream to Binary fields
155 votes -
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.
22 votes -
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
12 votes -
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.
13 votes -
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.
11 votes -
Improve Model First: allow user choosing inheritance strategy on a case by c
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.
12 votes -
Bulk Object Graph Persistence
I would like to see the ability to persist an entire object graph in one DB call. Currently it is way to chatty with the DB which makes it really slow to persist.
6 votes -
Support all mapping inheritance strategies
Support all mapping inheritance strategies, well documented, as mentioned here: http://www.agiledata.org/essays/mappingObjects.html
9 votes -
Generate the Association objects based on the Foriegn Key Column Name
Generate the Association objects in a model based on the Foriegn Key Column Name rather than "Association1", "Association2" etc
7 votes
- Don't see your idea?