KEMBAR78
Introduction to Telerik OpenAccess ORM | PPTX
Introduction to Telerik OpenAccess ORMBy Peter Bahaa1
Bio!Technical Team Lead of DashSoftMSDN HDI PresenterTechnical Consultant for BeBrand.tvTechnical Consultant for LaserMarvelsCommunity Leader of dotnetwork.orgPastTechnical Team Lead of BeBrand.tv2
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking3
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking4
What is ORM?Object-relational mapping (ORM, O/RM, and O/R mapping) "virtual object database" that can be used from within the programming language.5
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking6
Why Using ORM?Facilitates implementing the Domain Model pattern.Huge reduction in code.Changes to the object model are made in one place.Rich query capability.Navigation.Data loads are completely configurable.Concurrency support.Cache management.Transaction management and Isolation.Key Management.7
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking8
What is Telerik OpenAccess?Telerik OpenAccess is an Enterprise-grade .Net ORM that does the data access plumbing in desktop and web applications. Supporting both forward (model-first) and reverse (schema-first) mapping, The tool offers transparent persistence for your DAL and business objects. OpenAccess ORM provides tight Visual Studio integration and allows you to seamlessly create database independent code.9
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoFetch DemoDSW DemoORM Battle Benchmarking10
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support11
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support12
Visual Studio IntegrationSchema-First ApproachModel-First ApproachPowerful WizardsRoundtrip Mapping13
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support14
Dynamic Data AccessQuery LanguagesLINQOQLSQLRuntime schema changesSchema Change API15
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase Support16
Performance and CachingFetch PlansLevel 2 Distributed CacheGeneric data access17
Performance and CachingFetch PlansLevel 2 Distributed CacheGeneric data access18
Fetch PlansFine-tune the fetching of the fields we are using from the database and not the whole object. Better performance.Less load on the database server.19
Fetch Plans (cont.)20
Fetch Plans (cont.)21
Performance and CachingFetch PlansLevel 2 Distributed CacheGeneric data access22
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support23
Supported Database FeaturesStored ProceduresViews24
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support25
Application Scenarios SupportDisconnected APIPartial TrustLazy LoadingAutomatic Change Tracking26
Application Scenarios SupportDisconnected APIPartial TrustLazy LoadingAutomatic Change Tracking27
Disconnected APIOpenAccess unique ObjectContainer API concept has been the first ORM feature supporting disconnected data scenarios. The offline ObjectContainer API shares a common interface with the online ObjectScopeAPIThe ObjectContainer serves as a bag which can hold object network, provides serialization, change tracking and the ability to apply changes in a round-trip fashion to the database.28
Application Scenarios SupportDisconnected APIPartial TrustLazy LoadingAutomatic Change Tracking29
Partial TrustMost O/R products do not support the partial trust paradigm out of the box. Most commonly the support was tied to severe limitations of the products functionality.Most popular products like Linq To Sql and Entity Framework had issues on their own with the partial trust support.30
Partial Trust (Cont.)31
Application Scenarios SupportDisconnected APIPartial TrustLazy LoadingAutomatic Change Tracking32
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase Support33
IntegrationTelerik Reporting SQL AzureRIA ServicesAsp.Net and MVCSilverlight and Ado.Net Data Services34
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support35
Database SupportMicrosoft SQL Server 2005/2008 ExpressOracle Server 9.2, 10.x, 11.x Microsoft SQL Azure Advantage Database Server 8.1 SQL Anywhere Server 10.x Microsoft SQL Server 2000/2005/2008 and Compact 3.5Oracle Database 10g Express Edition Firebird Server 2.x MySQL 5.x 36
Features!Visual Studio IntegrationDynamic Data AccessPerformance and cachingSupported Database FeaturesApplication Scenarios supportIntegrationDatabase SupportTechnical Support37
Technical SupportFree even for trial versionsConsulting more than a regular technical supportChoose the way that fits you:Support TicketsProduct DocumentationForumTelerik BlogsTelerik TVKnowledge baseCode LibraryWebinarsTelerik Trainer Product Resource Pages38
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking39
CRUD Demo40
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking41
DSW Demo42
AgendaWhat is ORM?Why using ORM?What is Telerik OpenAccess ORM?Features!CRUD DemoDSW DemoORM Battle Benchmarking43
ORM Battle Benchmarking44Performance ScorecardLINQ ScorecardSingle CRUD GraphMultiple CRUD GraphLINQ GraphQueries GraphPaging GraphFetch GraphMaterialization Graph
Questions?45
Thank YouMy Blog: www.peterbahaa.netpeter@peterbahaa.net46

Introduction to Telerik OpenAccess ORM