wtijsma wrote:
Otis wrote:
It doesn't fail, it switches to another approach to fulfill your request. Other O/R mappers fail, we don't (as you get the results you asked for, not duplicate rows like with NHibernate or an exception as with EF).
But I see your point. Unfortunately the features for v3.5 are selected and the list is frozen. However I'll give you pointers to where to alter the sourcecode of the support classes to add the exception throwing, so you can add it now without waiting for a version beyond 3.5. This will be on monday however.
Yes it's more like Silently succeeding' or 'Graceful degradation'...
Paging always comes at a cost, even server-side paging. Client-side paging isn't the most efficient way to do it, but at least it works. You make it sound like it's worse than having the nhibernate/EF way of doing things, namely return duplicates, which is utterly wrong, as you can end up with a page with 1 entity, as all are duplicates.
I find it strange that people prefer that incorrect way of dealing with data over a system which actually works. I know for your particular situation it's not handy, but for almost all situations it is. (paging on access is only possible on the client btw).
n.b. What and when can we expect 3.5? The road map on the side is a bit limited
-w
We're aiming for the end of january 2012. What you can expect? lots of stuff
- all settings/configuration for a project now in 1 dialog
- rule based attribute assignment, so you can define an attribute on the project level and define a rule (with expressions) on which element to add that attribute, e.g. only string based fields of length 42
- edmx import
- queryspec
- wcf data services support
- built-in type converters for many types (so most of them work out of the box)
- refactorings internally so selfservicing and adapter share way more code
- entity return in projections in linq (from c in metadata.Customer select new { c}; )
- quickstart guides inside the designer, which are easy to follow walkthroughs like creating a project, adding meta-data, creating entities etc.
- .NET 4.0 client profile compatible runtime
- COM+ classes made mandatory deprecated (so you can't use them anymore, use system.transactions)
- manipulate settings for elements in bulk (so change a code gen setting X for the entities you select in 1 click).
- and many more smaller things, like easier to use code gen dialog. We focused on making things easier to use in v3.5.
About your problem at hand.
In the ORM Support Classes, Query\RetrievalQuery.cs, line 208, the setter of RequiresClientSidePaging. if that flag is set to true, throw the exception there. This should catch the situation where client-side paging is performed at runtime. Not recommended as I said above, but if you test it well enough, you should be ok. We've added a workitem for adding the setting you requested in the future, but we don't know when/if it will be added (not v3.5, that's frozen)