As existing users might have experienced , handling the identity of a persistent object in OpenAccess can get complicated at times especially when it comes to a type with composite identity fields. With an aim to simplifying this aspect we worked on the ObjectKey API to make it easier to comprehend and to use. This blog post describes the API in brief, it’s intended usage and how existing code can be migrated. The ObjectKey The ‘ObjectKey’ is the new entry point for working with a persistent object’s identity. The ‘ObjectKey’ for a persistent object can be obtained form the runtime or if...
We hear a lot that migrating projects using OpenAccess to a new OpenAccess version is a complicated process. The first decision should be if you want to migrate each of your projects or if you want to stay for some of them with the old OpenAccess version. This post describes how to prepare your project so that an installation of a new OpenAccess version does not break your build or makes it necessary to use the new version in your older projects. The first step is to check-in all necessary runtime and compile time used resources instead of taking them from the...
We had some support questions recently where our customers had the need to combine multiple smaller predicate expressions with either an OR or an AND (these will be the || and && operators if you are using C#) logical operator. And because the code from the answer that we sent to these customers is very interesting and can easily be refactored into something reusable we decided to write this blog post. The key thing that one must know is that if you want your predicate to be translated by OpenAccess ORM to SQL and executed on the server...
Telerik OpenAccess ORM maintains several cache levels that can be used in various application scenarios. While the L1 cache is specific for each object scope, the L2 cache works on higher level as it is common to all object scopes in an application. But what if we want to have the cache working even on higher level – to be shared between many applications? The feature that has to be used in such scenarios is the L2 Cache Cluster. It provides the ability to synchronize the L2 caches of many applications that operate on the same database. To achieve this, each modifying transaction...
In the last post we saw how easy it is to reverse engineer a database schema. Let's now use the resulting persistent classes library to build the first website. Let's do it again step by step: Step 1: Use the resulting solution from the northwind reverse engineering post. Step 2: Add a new web application by execution File->Add->New Web Site... from the Visual Studio Menu. Choose ASP.NET Web Site. Step 3: Add a reference from the website to the class library. Select the website project in the Solution Explorer and execute Website->Add reference from the Visual Studio Menu. Select the class library project in the Projects tab. All...