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.
-
Interchangeable Backing Database
I would like to write my code against the EF and have it work with SqlServer Express and SQlServer Compact (or even MySQL and Oracle). It would be great if I could swap these out at runtime, even, pointing to different databases as needed. This would require some improvements to SQLServer Compact, but also some improvements to EF.
11 votes -
Define RelatedProperty on an inherited foreign key
Allow mapping to entity in a derived class based on a property in base class.
Normally, we create a [RelatedTo] property for a foreign key defined in the same class.
But it would be quite handy to be able to define [RelatedTo] on a Foreign Key defined in the base class.
11 votes -
10 votes
-
sql ce 4.0 local cache agent
Is there a possibility in the near future provide a SQL Server Compact 4.0 DB to synchronize with SQL Server, unfortunately, offers some of the SyncFramework for this version at no SyncCeProvider .... and the opportunity to work with a local cache async one is also forbidden, because it is supported only in version 3.5.
Unfortunately, I am clueless and if needed an alternative offered by the DB once support for the Entity Framework and the Local Cache Agent.
The version of SQL Compact 3.5 would work but unfortunately I have the problem that the auto-increment columns are not generated…
10 votes -
9 votes
-
Support unsigned integer (e.g. uint) properties and keys
If my model contains an int ID it's automatically detected as a Key field.
I'd like to have the same support for uint ID and similar types.9 votes -
Support for ASP.NET EntityDataSource and DynamicData for EF6
Because in EF6 the ObjectContext class is being moved into the EntityFramework assembly, existing code will treat it separately from the "old" ObjectContext in the System.Data.Entity assembly.
I use EF CodeFirst in a mixed MVC / WebForms(DynamicData) application.
Either bring out new versions of EntityDataSource and DynamicData for EF6 or provide a way from going from a EF4/5 ObjectContext to an EF6 one.
9 votes -
Discriminator column support in TPT inheritance
Currently, a discriminator column is only possible in TPH scenarios. The rational behind this is that in TPT the entity type can be inferred by joining. This is true but costly. In a serious application with many rows, the existence of a discriminator can have many benefits. For instance: one can create a composite index on the discriminator and primary key, on the base table (I could also use an index on primary key, filtered by the discriminator).
8 votes -
Self tracking
Allow using self tracking in case of "ApplyChanges" to object holding different references (same entitiy loaded from different context or pass using WCF) but actuality they are the same entity (have the same EntityKey) then the entities will be identify by the entity key and not the specific reference.
8 votes -
SqlDependency / query notification
in ADO.NET classic thers an option to get a notification from SQL when data changes in the database, using the SqlDependency class for specific queries. i would like to see this supported in the next EF
8 votes -
Support transactions for DbContext.Database.SqlQuery
When a transaction was opened on the connection that is used by (and possibly shared with) the DbContext, SqlQuery (and possibly ExecuteSqlCommand) do not respect it and 'forget' to wire it to the SqlCommand that is created internally.
7 votesThis is an issue in EF. Since we expose the underlying connection in the DbContext API we whould make sure calling BeginTransaction on it works well.
-
Query serialization / deserialization
** SUGGESTION **
Native support for query serialization and deserialization (to XML) decoupled from a concrete ObjectContext, including query parametrization and correct management of lambda expressions (e.g. using expression expansion as in LinqKit).** WHY **
We've developed a set of classes that allow a query to be written in the client layer and executed in the service layer via web services (with POCO entities). After the query is written normally using linq to entities and obtaining an IQueryable<T> object, this implementation transparently does the following:CLIENT side:
- Expands the query expression tree to correctly manage lambda expressions.
-…7 votes -
Add support for dynamically extended queries as per LinqKit
LinqKit has shown that is possible to make the creation of queries much more dynamic, with them being composed at run time dependent on external conditions. nHibernate is good at this and LinqKit helps, but it would be nice to have an official solution.
7 votes -
Allow commit only selected changes
There are cases, when we would like to commit only selected changes from changeset. Let's say in complex hierachy ef is not able to resolve all relations and set correct id's, so we would save first parent items, then child items with correct parent id's.
6 votes -
Option to use Inner Join SQL when Eager Loading (AKA IncludeRequired method)
When trying to load related entities using the "Include" eager loading feature of EF, it always generates SQL that uses an LEFT OUTER JOIN e.g.
from m in Customer.Includes("Orders")
will always generate the SQL:
SELECT ......
FROM Customers
LEFT OUTER JOIN Orders....This is not always desirable, especially when you only want to retrieve Customers that have at least one or more related Orders. By forcing the generated SQL to always use LEFT OUTER JOIN, it's going to load all Customers regardless of whether they have related Orders or not. This can become extremely inefficient, especially when there are lots…
6 votes -
Encryption of Columns
Would be nice to be able to map encryption to a column. have a convention based or override using a
function (Func<>).6 votes -
let me save expensive intermediate LINQ results in temp table
LINQ-to-Entities should offer an anaogous operator to AsEnumerable() but instead of materializing results on the client, it would materiailze results on the server (e.g. a temp table for SQL Server), allowing subsequent operators to re-use intermediate results without risking additional server recomputation or requiring a round-trip from client to server.
The underlying requirement is to make it easier to build and maintain performant LINQ queries that use millions of rows, many complex joins, I/O intensive calculations like running totals or self-joins, or all of the above.
For these kinds of queries in T-SQL, a good way to get predictable performance…
6 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 -
Add Support for custom Extension methods
Support extension methods to be defined for entities or generic extensions. As long as the extension returns an IQueryable or expression that only includes supported operations/extensions, then the provider should expand the extension method and replace it in the expression tree with the the returned iqueryable/expression.
Thus for the most part, any extension method encountered in the expression that is not supported, should be called to return an expression that can be inserted into the expression tree. So long as the process operators recursively as it is expanding the expression, eventually the expression tree will consist of supported expressions and…
6 votes -
Support for .Contains(Entity)
Be able to write code like "if (Context.Table.Contains(entity))"
6 votes
- Don't see your idea?