SlideShare une entreprise Scribd logo
1  sur  46
Introduction to Telerik OpenAccess ORM By Peter Bahaa 1
Bio! Technical Team Lead of DashSoft MSDN HDI Presenter Technical Consultant for BeBrand.tv Technical Consultant for LaserMarvels Community Leader of dotnetwork.org Past Technical Team Lead of BeBrand.tv 2
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 3
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 4
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
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 6
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
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 8
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
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo Fetch Demo DSW Demo ORM Battle Benchmarking 10
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 11
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 12
Visual Studio Integration Schema-First Approach Model-First Approach Powerful Wizards Roundtrip Mapping 13
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 14
Dynamic Data Access Query Languages LINQ OQL SQL Runtime schema changes Schema Change API 15
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support 16
Performance and Caching Fetch Plans Level 2 Distributed Cache Generic data access 17
Performance and Caching Fetch Plans Level 2 Distributed Cache Generic data access 18
Fetch Plans Fine-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 Caching Fetch Plans Level 2 Distributed Cache Generic data access 22
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 23
Supported Database Features Stored Procedures Views 24
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 25
Application Scenarios Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 26
Application Scenarios Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 27
Disconnected API OpenAccess 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 ObjectScopeAPI The 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 Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 29
Partial Trust Most 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 Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 32
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support 33
Integration Telerik Reporting  SQL Azure RIA Services Asp.Net and MVC Silverlight and Ado.Net Data Services 34
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 35
Database Support Microsoft SQL Server 2005/2008 Express Oracle 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.5 Oracle Database 10g Express Edition  Firebird Server 2.x  MySQL 5.x  36
Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 37
Technical Support Free even for trial versions Consulting more than a regular technical support Choose the way that fits you: Support Tickets Product Documentation Forum Telerik Blogs Telerik TV Knowledge base Code Library Webinars Telerik Trainer  Product Resource Pages 38
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 39
CRUD Demo 40
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 41
DSW Demo 42
Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 43
ORM Battle Benchmarking 44 Performance Scorecard LINQ Scorecard Single CRUD Graph Multiple CRUD Graph LINQ Graph Queries Graph Paging Graph Fetch Graph Materialization Graph
Questions? 45
Thank You My Blog: www.peterbahaa.net peter@peterbahaa.net 46

Contenu connexe

Tendances

A Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETA Designer's Intro to Oracle JET
A Designer's Intro to Oracle JET
Lauren Beatty
 

Tendances (20)

(ATS6-APP05) Deploying Contur ELN to large organizations
(ATS6-APP05) Deploying Contur ELN to large organizations(ATS6-APP05) Deploying Contur ELN to large organizations
(ATS6-APP05) Deploying Contur ELN to large organizations
 
Sitecore mvc
Sitecore mvcSitecore mvc
Sitecore mvc
 
Sitecore MVC (London User Group, April 29th 2014)
Sitecore MVC (London User Group, April 29th 2014)Sitecore MVC (London User Group, April 29th 2014)
Sitecore MVC (London User Group, April 29th 2014)
 
Kentico and MVC
Kentico and MVCKentico and MVC
Kentico and MVC
 
Sitecore MVC: What it is and why it's important
Sitecore MVC: What it is and why it's importantSitecore MVC: What it is and why it's important
Sitecore MVC: What it is and why it's important
 
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
 
ASP .Net MVC 5
ASP .Net MVC 5ASP .Net MVC 5
ASP .Net MVC 5
 
Spring Web flow. A little flow of happiness
Spring Web flow. A little flow of happinessSpring Web flow. A little flow of happiness
Spring Web flow. A little flow of happiness
 
ASP.NET 4.0 Roadmap
ASP.NET 4.0 RoadmapASP.NET 4.0 Roadmap
ASP.NET 4.0 Roadmap
 
A Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETA Designer's Intro to Oracle JET
A Designer's Intro to Oracle JET
 
5 Things I Wish I'd Known about Microservices
5 Things I Wish I'd Known about Microservices5 Things I Wish I'd Known about Microservices
5 Things I Wish I'd Known about Microservices
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8
 
Sitecore MVC (User Group Conference, May 23rd 2014)
Sitecore MVC (User Group Conference, May 23rd 2014)Sitecore MVC (User Group Conference, May 23rd 2014)
Sitecore MVC (User Group Conference, May 23rd 2014)
 
Lap Around ASP.NET MVC 5
Lap Around ASP.NET MVC 5Lap Around ASP.NET MVC 5
Lap Around ASP.NET MVC 5
 
Net35 Overview
Net35 OverviewNet35 Overview
Net35 Overview
 
Sitecore MVC: Converting Web Forms sublayouts
Sitecore MVC: Converting Web Forms sublayoutsSitecore MVC: Converting Web Forms sublayouts
Sitecore MVC: Converting Web Forms sublayouts
 
Migrando una app de angular.js a Blazor
Migrando una app de angular.js a BlazorMigrando una app de angular.js a Blazor
Migrando una app de angular.js a Blazor
 
Angular
AngularAngular
Angular
 
(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS
 
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
 

En vedette

Utilize Telerik Reporting to build bar chart
Utilize Telerik Reporting to build bar chartUtilize Telerik Reporting to build bar chart
Utilize Telerik Reporting to build bar chart
Guo Albert
 
Telerik Reporting– Quick Start (Part 2)
Telerik Reporting– Quick Start (Part 2)Telerik Reporting– Quick Start (Part 2)
Telerik Reporting– Quick Start (Part 2)
Guo Albert
 
Telerik Reporting– Quick Start (Part 1)
Telerik Reporting– Quick Start (Part 1)Telerik Reporting– Quick Start (Part 1)
Telerik Reporting– Quick Start (Part 1)
Guo Albert
 

En vedette (11)

Utilize Telerik Reporting to build bar chart
Utilize Telerik Reporting to build bar chartUtilize Telerik Reporting to build bar chart
Utilize Telerik Reporting to build bar chart
 
Telerik this is sayed
Telerik this is sayedTelerik this is sayed
Telerik this is sayed
 
Telerik Reporting
Telerik ReportingTelerik Reporting
Telerik Reporting
 
Telerik Reporting– Quick Start (Part 2)
Telerik Reporting– Quick Start (Part 2)Telerik Reporting– Quick Start (Part 2)
Telerik Reporting– Quick Start (Part 2)
 
Telerik Reporting– Quick Start (Part 1)
Telerik Reporting– Quick Start (Part 1)Telerik Reporting– Quick Start (Part 1)
Telerik Reporting– Quick Start (Part 1)
 
Reporting Solution for ASP.NET Application with Telerik reporting
Reporting Solution for ASP.NET Application with Telerik reportingReporting Solution for ASP.NET Application with Telerik reporting
Reporting Solution for ASP.NET Application with Telerik reporting
 
Building and Delivering Reports from your Web and Mobile Apps with Telerik Re...
Building and Delivering Reports from your Web and Mobile Apps with Telerik Re...Building and Delivering Reports from your Web and Mobile Apps with Telerik Re...
Building and Delivering Reports from your Web and Mobile Apps with Telerik Re...
 
Take Your Reports to Any Screen with Telerik Reporting
Take Your Reports to Any Screen with Telerik ReportingTake Your Reports to Any Screen with Telerik Reporting
Take Your Reports to Any Screen with Telerik Reporting
 
0. Course Introduction
0. Course Introduction0. Course Introduction
0. Course Introduction
 
Sızma Testleri Sonuç Raporu
Sızma Testleri Sonuç RaporuSızma Testleri Sonuç Raporu
Sızma Testleri Sonuç Raporu
 
The role of Design Thinking
The role of Design ThinkingThe role of Design Thinking
The role of Design Thinking
 

Similaire à Introduction to Telerik OpenAccess ORM

Similaire à Introduction to Telerik OpenAccess ORM (20)

.net Framework
.net Framework.net Framework
.net Framework
 
DICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyDICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made Easy
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: Custom Application ...
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - Custom Application Develo...
 
Azure IaaS Feb 23 2016 Let's Dev This Cloud
Azure IaaS Feb 23 2016 Let's Dev This CloudAzure IaaS Feb 23 2016 Let's Dev This Cloud
Azure IaaS Feb 23 2016 Let's Dev This Cloud
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by docker
 
NoSQL and MySQL
NoSQL and MySQLNoSQL and MySQL
NoSQL and MySQL
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
 
Migrate or modernize your database applications using Azure SQL Database Mana...
Migrate or modernize your database applications using Azure SQL Database Mana...Migrate or modernize your database applications using Azure SQL Database Mana...
Migrate or modernize your database applications using Azure SQL Database Mana...
 
Le soluzioni tecnologiche per il Copy Data Management
Le soluzioni tecnologiche per il Copy Data ManagementLe soluzioni tecnologiche per il Copy Data Management
Le soluzioni tecnologiche per il Copy Data Management
 
Tampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday DockerTampere Docker meetup - Happy 5th Birthday Docker
Tampere Docker meetup - Happy 5th Birthday Docker
 
Novinky ve světě Oracle DB a koncept konvergované databáze
Novinky ve světě Oracle DB a koncept konvergované databázeNovinky ve světě Oracle DB a koncept konvergované databáze
Novinky ve světě Oracle DB a koncept konvergované databáze
 
Meetup Oracle Database MAD_BCN: 1.3 Gestión del ciclo de vida de Oracle Datab...
Meetup Oracle Database MAD_BCN: 1.3 Gestión del ciclo de vida de Oracle Datab...Meetup Oracle Database MAD_BCN: 1.3 Gestión del ciclo de vida de Oracle Datab...
Meetup Oracle Database MAD_BCN: 1.3 Gestión del ciclo de vida de Oracle Datab...
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News!
ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News! ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News!
ER/Studio and DB PowerStudio Launch Webinar: Big Data, Big Models, Big News!
 
Top 8 WCM Trends 2010
Top 8 WCM Trends 2010Top 8 WCM Trends 2010
Top 8 WCM Trends 2010
 
Oracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud InfrastructureOracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud Infrastructure
 

Introduction to Telerik OpenAccess ORM

  • 1. Introduction to Telerik OpenAccess ORM By Peter Bahaa 1
  • 2. Bio! Technical Team Lead of DashSoft MSDN HDI Presenter Technical Consultant for BeBrand.tv Technical Consultant for LaserMarvels Community Leader of dotnetwork.org Past Technical Team Lead of BeBrand.tv 2
  • 3. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 3
  • 4. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 4
  • 5. 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
  • 6. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 6
  • 7. 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
  • 8. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 8
  • 9. 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
  • 10. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo Fetch Demo DSW Demo ORM Battle Benchmarking 10
  • 11. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 11
  • 12. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 12
  • 13. Visual Studio Integration Schema-First Approach Model-First Approach Powerful Wizards Roundtrip Mapping 13
  • 14. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 14
  • 15. Dynamic Data Access Query Languages LINQ OQL SQL Runtime schema changes Schema Change API 15
  • 16. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support 16
  • 17. Performance and Caching Fetch Plans Level 2 Distributed Cache Generic data access 17
  • 18. Performance and Caching Fetch Plans Level 2 Distributed Cache Generic data access 18
  • 19. Fetch Plans Fine-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
  • 22. Performance and Caching Fetch Plans Level 2 Distributed Cache Generic data access 22
  • 23. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 23
  • 24. Supported Database Features Stored Procedures Views 24
  • 25. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 25
  • 26. Application Scenarios Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 26
  • 27. Application Scenarios Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 27
  • 28. Disconnected API OpenAccess 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 ObjectScopeAPI The 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
  • 29. Application Scenarios Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 29
  • 30. Partial Trust Most 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
  • 32. Application Scenarios Support Disconnected API Partial Trust Lazy Loading Automatic Change Tracking 32
  • 33. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support 33
  • 34. Integration Telerik Reporting SQL Azure RIA Services Asp.Net and MVC Silverlight and Ado.Net Data Services 34
  • 35. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 35
  • 36. Database Support Microsoft SQL Server 2005/2008 Express Oracle 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.5 Oracle Database 10g Express Edition Firebird Server 2.x MySQL 5.x 36
  • 37. Features! Visual Studio Integration Dynamic Data Access Performance and caching Supported Database Features Application Scenarios support Integration Database Support Technical Support 37
  • 38. Technical Support Free even for trial versions Consulting more than a regular technical support Choose the way that fits you: Support Tickets Product Documentation Forum Telerik Blogs Telerik TV Knowledge base Code Library Webinars Telerik Trainer Product Resource Pages 38
  • 39. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 39
  • 41. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 41
  • 43. Agenda What is ORM? Why using ORM? What is Telerik OpenAccess ORM? Features! CRUD Demo DSW Demo ORM Battle Benchmarking 43
  • 44. ORM Battle Benchmarking 44 Performance Scorecard LINQ Scorecard Single CRUD Graph Multiple CRUD Graph LINQ Graph Queries Graph Paging Graph Fetch Graph Materialization Graph
  • 46. Thank You My Blog: www.peterbahaa.net peter@peterbahaa.net 46