EF7’s LINQ implementation supports mixed server and client-side evaluation, which helps with some of the issues explained in the blog post. We are looking into implementing many other LINQ improvements in EF7.
The biggest drawbacks are while using projections (in EF6.x at least):
- no support of custom constructors (with parameters)
- bad decimal/float/double conversion (rarely works)
- also if having complex property multiple times in projections, we must set all the variables we set before and also in the same order - this is a big NO-NO-NO!
Unfortunatelly NHibernate fetching strategies - does not work with IQueryables, only with NHibernate's query syntax.
The only possible way is to use include, but setting eager load for N:1 and some 1:N would be a nice perf. tuning.
Of course, we're talking about strategies defined with mapping!
742 votes26 comments · Entity Framework Feature Suggestions » runtime · Flag idea as inappropriate… · Admin →
What about JSON too?
In EF6 if you set the same property value again and again, the entity won't be marked as dirty!
I'd like to be able to all properties that change. GetModifiedProperties() returns all the properties modified or not - can be achieved by code.
666 votes14 comments · Entity Framework Feature Suggestions » runtime · Flag idea as inappropriate… · Admin →
This feature is currently planned to be included in EF7.
I would go even further. In some cases an exclusive N:1 relation could exists. Since it's not 1:N and there's no meaning of talking about orphans, but if the parent is deleted and it holds such an exclusive N:1, then the N:1 should be also deleted.
The delete orphan was a feature in NHibernate before a decade, so I'm glad it finally makes to EF7!