Fetch Plans are very powerful feature of Telerik OpenAccess ORM. When interacting with a persistent object, they provide you with the possibility to fine-tune the fetching of the fields you are using from the database and not the whole object. Telerik OpenAccess ORM provides for declarative coupling of Object Model and Activities through Fetch Plans:
- FetchPlans describe object network for performance optimizations.
- With the up-from declaration of a FetchPlan, Telerik OpenAccess ORM is able to know in advance which object graph will be used by your code. This greatly improves your application performance in an easy and declarative manner.
- This feature combines very well with the data fetches done by your application and avoids a common performance pitfall that is known as "N+1 query problem". Instead of querying for 1 order and then performing the n order details, a FetchPlan can be used to issue one optimal query fetching both order and its details.
- The FetchPlan is built up during runtime by a simple yet powerful API. The basic intention is to have a FetchPlan per use case. There is always a current FetchPlan, and this FetchPlan is used by queries and object navigation too.
- FetchPlans are the countermeasure to lazy-loading as they provide information for eager-loading.

In this section: