Telerik blogs

Latest

  • Productivity

    LINQ Tip of the week: LINQ and Anonymous types

    Today we have a closer look at using LINQ and anonymous types and it's pros and cons. Consider the case where we want to obtain a subset of data instead of an entire persistent instance. For example, if we want to obtain the contact details of all Customers based in London we would use the following query var query = from c in scope.Extent<Customer>()                    where c.City.Equals("London")                    select new { c.City, c.Address, c.ContactName };   Notice the last line in the above query - select new { c.City, c.Address, c.ContactName } This line creates an anonymous type. Behind the scenes, at compile time, a very simple class is generated automatically. In this case, three...
    August 13, 2009 3 min read
  • Productivity

    Telerik OpenAccess ORM and the Second Level Cache

    As we already mentioned last week, Telerik OpenAccess ORM manages two cache levels – one specific for each ObjectScope instance and another shared by all scopes. The shared cache is generally called the "2nd level cache" or the "L2 cache". Its main job is to hold copies of the database content in memory. The L2 cache is populated during read access and gives fast retrieval of commonly used objects. This could be extremely helpful in multithreaded applications, where every single thread has its own ObjectScope. In order to avoid too many calls from each scope to the relational server, the L2...
    August 11, 2009 3 min read
  • Productivity Reporting

    Medium Trust Support for Telerik Reporting

    A lot of people requested this, so we've put all our efforts into it and even managed to finish it in time for the Q2 service pack that shipped just this Friday - download it if you haven't yet. Please hold on your dismay - deploying an ASP.NET application containing Telerik Reporting on a web host that requires Medium Trust permission level is now a reality. For those of you, who do not know what that means - you probably do not need it, but if you would like to know, check the following "ASP.NET Trust Levels and Policy Files" and "Use Medium Trust in ASP.NET 2.0" documents in MSDN. There...
    August 10, 2009 2 min read
  • Productivity

    How Does the First Level Cache of Telerik OpenAccess ORM Work

    Telerik OpenAccess ORM has two levels of caching. The upper one is a local cache specific for each IObjectScope instance and it is the focus of this post. The lower cache, the second level cache is common for all IObjectScope objects and is used to hold unchanged database content in memory. The values for various fields of the user objects (like a Person instance) are duplicated in the L2 cache. It is populated during read access and gives fast retrieval of commonly used objects. Additionally, the cache can contain complete query results. Note that the L2 cache is not enabled by...
    August 06, 2009 3 min read
  • Productivity

    Retrieving object from the database using only its key

    When you try to persist an object Telerik OpenAccess ORM will require an “identity” so that the object is uniquely identified for storage and retrieval. Usually this id is mapped directly to a primary key column or columns (composite key) in the database and identifies also the in-memory representation of the object. Using this identifier, you can directly retrieve the object from the database. Supposing that we have table with an int primary key (for example the Category table from the Northwind database) and we want to retrieve the Category with id that is equal to 6 directly. We would need...
    August 04, 2009 3 min read