It seems they both can do the same things. Is there a general rule as to when to use one over the other?
(I'm also trying to determine how it would benefit me to move from EntityFramework to OpenAccess)
Thanks.
6 Answers, 1 is accepted
Your observations are correct. Technically, the old scope approach and the new visual designer achieve one and the same thing – they automate the persistence logic. We are concentrating our efforts on building the new domain model as we think it is more intuitive to work with this new API. Currently, there isn’t anything that you cannot achieve with the new domain model, although we haven’t exposed directly all of the functionality of the IObjectScope. However, internally the OpenAccessContext (the new visual designer approach) internally uses a scope which can be exposed if required. One of the main advantages of using the new domain context is that transaction management is improved and internally handled so that the user does not need to worry about it during development. The new domain model approach tries to automate other tasks which were executed separately with the classic wizards – for example, specifying that you need navigation members for the associations (the “Create one-to-many list” option). What is more, the visual designer makes the control over the model settings and mapping details more convenient with the help of the Model Settings Dialog and Mapping Details Editor. And of course, you do not need to enable the project when you want to include an OpenAccess model. We are also constantly improving our forward mapping features and plan to add other conveniences to the visual designer – such as adding capabilities to easily navigate in large models. The classic scope approach will continue to be fully functional but the new features we add will be mainly noticeable for the visual designer. So, my advice is to use the new approach if you are starting a new project.
I would also like to mention that we will release a dedicated SDK with a rich set of OpenAccess sample applications, guiding you through the development of OpenAccess based projects in all kinds of scenaros. A lot of effort is also put on the Fluent Mapping API and more improvements for the Fetch Optimization API are on our roadmap. Last but not least, we offer support and can help you resolve any problems you encounter on the way to building your applications.
Greetings,Petko_I
the Telerik team
I found OpenAccess Made Easy (pdf courseware) was based on 'ORM-Enable Project', the classic way.
Do you have any plan to update this courseware for Domain Model? Many videos are also based on the classic way.
It seems most of available documentation/tutorials/videos are for the classic 'ORM-Enable Project' way.
Looking forward to your help. Thanks!
Regards,
James
Thanks for your response. I had a feeling they were the same and one was a newer version, but I wasn't sure. For someone coming from Linq-To-Sql or Entity Framework, the new Model that produces the OpenAccessContext is an easy transition.
I do have a question about performance. I spoke to a developer (before learning about OpenAccess), and he said that if I was building an enterprise level application, I shouldn't use Entity Framework and simply use ADO.NET or the Enterprise Library Data Access Block due to performance issues.
Does OpenAccess have performance issues? Is it ok to use for high traffic sites? Are there any comparisons that have been made between various providers and OpenAccess?
Thanks.
@James
We have plans to make another OpenAccess Made Easy guide which will entirely focus on the new domain model approach. However, most probably it will not make it for the Q3 release. The main step towards unifying our resources is introducing an SDK browser which will provide links to places of interest and will also provide a rich set of example solutions using OpenAccess.
@King
I do not think you should worry about performance issues with OpenAccess and I will tell you why. The Telerik infrastructure uses OpenAccess as an ORM mapper and we have enterprise clients that use OpenAccess successfully (some of them have web farms). A major performance boost can be obtained from the utilization of the L2 caching and L2 distributed caching mechanisms we provide. There is not a public available comparison among different ORM tools concerning high database traffic performance issues. Rest assured that OpenAccess will do the job for you.
All the best,
Petko_I
the Telerik team
Thanks for the response about Open Access performance. I'll look into the L2 caching. I've just started playing with it and I like it so far.
Thanks.
Thanks for your good news about updating OpenAccess Made Easy (courseware & example projects) to match the new Domain Model way. I will be glad to see the first version of OpenAccess SDK in Q3 2010 release.
Regards,
James