SlideShare a Scribd company logo
Babysitting Your ORM With A Custom TFS Build
Introduction
• My name: Adam Essenmacher
• Who are you?
– Developers?
– Technical Managers?
– Project Managers?
– Evangelists?
– BA’s?
Introduction
• ORM Experience
– Used in the past?
– Using currently?
– Which ORMs?
Introduction
• Are there any common issues or problems stemming
from your ORM implementations?
Anti-Objectives
• This presentation is not:
– … an endorsement of any specific ORM, or even ORMs in
general.
– … an endorsement of any specific tools, languages, or
frameworks.
– … a formula for a ‘silver bullet’.
Objectives
• “This presentation will discuss the importance of
integrating ORM performance analysis into your ALM
process and demonstrate a powerful method for doing
so by leveraging your existing CI/TFS environment.”
• This presentation is:
– … framed in the context of the .NET technology stack.
– … an application of simple ideas and established best-practices.
– … a suggestion that carries real, measurable ROI potential.
Overview
• Review
– ORMs
– CI/TFS

• Why measure an ORM’s behavior?
• Demo!
A Review: Object-Relational Mapper (ORM)

Database

ORM

Application
Code
A Review: Object-Relational Mapper (ORM)
A Review: Continuous Integration (CI)
Why Bother?
ORMs are a leaky abstraction!
Why Bother?: Some Numbers
4.8 Years
7.8 Months

• Send packet around the
world?
• Read 1 MB from HD?

11.6 Days

• Read 1 MB from SSD?

5.8 Days

• Make roundtrip in data
center?

1.6 Minutes
.5 Seconds

• Main Memory Ref
• L1 Cache Ref

https://gist.github.com/hellerbarde/2843375
Why Bother?: An N+1 Example
Why Bother?: An N+1 Example
Why Bother?: Other Detectable Issues
•
•
•
•
•
•
•
•
•
•
•

N+1
Too many joins
Variable SQL parameter sizes
Querying from a view
Ends with queries (like ‘%...’)
Excessive return rows
Excessive individual writes
Mixing queries and data binding
Excessive database calls
Unbounded result set
And more:
http://www.hibernatingrhinos.com/products/eprof/learn
Why Bother?
Why Bother?
Prerequisites
• Testing framework (MSTest)
• Continuous integration environment (TFS)
• Profiling software (Entity Framework Profiler)
– http://hibernatingrhinos.com

• Database integration test suite
• Demo project:
http://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8
Demo
Demo
• Write exhaustive test suite:
Demo
• Commit! (gated check-in):
Demo
• Add test initializer:
Demo
• Add test tear-down:
Demo
• Attempt commit (gated check-in)
Demo
• Individual test results:
Questions?
• @a_Essenmacher
• aessenmacher@cardinalsolutions.com

More Related Content

What's hot

Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014
Red Gate Software
 
Quack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with ProfilingQuack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with Profiling
IDERA Software
 
[C3] 升級版eClass 4.1── 更流暢實用的網上教室
[C3] 升級版eClass 4.1── 更流暢實用的網上教室[C3] 升級版eClass 4.1── 更流暢實用的網上教室
[C3] 升級版eClass 4.1── 更流暢實用的網上教室
eclass_bl
 
Completely Test-Driven
Completely Test-DrivenCompletely Test-Driven
Completely Test-Driven
Ian Truslove
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approach
Oren Eini
 
Improving Test Team Throughput via Architecture by Dustin Williams
Improving Test Team Throughput via Architecture by Dustin WilliamsImproving Test Team Throughput via Architecture by Dustin Williams
Improving Test Team Throughput via Architecture by Dustin Williams
QA or the Highway
 
Eurosport's Kodakademi #2
Eurosport's Kodakademi #2Eurosport's Kodakademi #2
Eurosport's Kodakademi #2
Benjamin Baumann
 
TDD - Christchurch APN May 2012
TDD - Christchurch APN May 2012TDD - Christchurch APN May 2012
TDD - Christchurch APN May 2012
Alan Christensen
 
Andrew rusling 21 experiments to increase velocity
Andrew rusling 21 experiments to increase velocityAndrew rusling 21 experiments to increase velocity
Andrew rusling 21 experiments to increase velocity
Scrum Australia Pty Ltd
 
Agile Testing Days
Agile Testing DaysAgile Testing Days
Agile Testing Days
Marcin Czenko
 

What's hot (10)

Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014
 
Quack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with ProfilingQuack Chat | Fix Database Performance Problems with Profiling
Quack Chat | Fix Database Performance Problems with Profiling
 
[C3] 升級版eClass 4.1── 更流暢實用的網上教室
[C3] 升級版eClass 4.1── 更流暢實用的網上教室[C3] 升級版eClass 4.1── 更流暢實用的網上教室
[C3] 升級版eClass 4.1── 更流暢實用的網上教室
 
Completely Test-Driven
Completely Test-DrivenCompletely Test-Driven
Completely Test-Driven
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approach
 
Improving Test Team Throughput via Architecture by Dustin Williams
Improving Test Team Throughput via Architecture by Dustin WilliamsImproving Test Team Throughput via Architecture by Dustin Williams
Improving Test Team Throughput via Architecture by Dustin Williams
 
Eurosport's Kodakademi #2
Eurosport's Kodakademi #2Eurosport's Kodakademi #2
Eurosport's Kodakademi #2
 
TDD - Christchurch APN May 2012
TDD - Christchurch APN May 2012TDD - Christchurch APN May 2012
TDD - Christchurch APN May 2012
 
Andrew rusling 21 experiments to increase velocity
Andrew rusling 21 experiments to increase velocityAndrew rusling 21 experiments to increase velocity
Andrew rusling 21 experiments to increase velocity
 
Agile Testing Days
Agile Testing DaysAgile Testing Days
Agile Testing Days
 

Viewers also liked

Trinos y Trinas
Trinos y TrinasTrinos y Trinas
Trinos y Trinas
Jaime Cubas López
 
Evaluación Primer Parcial
Evaluación Primer ParcialEvaluación Primer Parcial
Evaluación Primer Parcial
katerinealexandra10
 
Презентация для Дилеров
Презентация для ДилеровПрезентация для Дилеров
Презентация для Дилеровmrdoors
 
Blasco yus hardware
Blasco yus hardwareBlasco yus hardware
Blasco yus hardware
alvaroy98
 
Middleman Guides & How to Learn
Middleman Guides & How to LearnMiddleman Guides & How to Learn
Middleman Guides & How to Learn
Yuya Matsushima
 
Datasheet-Flexcom
Datasheet-FlexcomDatasheet-Flexcom
Datasheet-Flexcom
Christophe Baehr
 
Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...
Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...
Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...
Unuruu Dear
 
Mega placement drive 2015 at NIMS University
Mega placement drive 2015 at NIMS UniversityMega placement drive 2015 at NIMS University
Mega placement drive 2015 at NIMS University
NIMS University, jaipur
 
Posterdef
PosterdefPosterdef
Posterdef
martamoyagz
 
Resume_Finance
Resume_FinanceResume_Finance
Resume_Finance
Mei Yee Ng
 
History of horror pp
History of horror ppHistory of horror pp
History of horror pp
g321danielhutchinson
 
Romanian Tourism Fair
Romanian Tourism FairRomanian Tourism Fair
Romanian Tourism Fair
Mihaela Marcu
 
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
luzyde
 
Nrc presentation ucmc_edit
Nrc presentation ucmc_editNrc presentation ucmc_edit
Nrc presentation ucmc_edit
Marketing Media Review
 

Viewers also liked (15)

Trinos y Trinas
Trinos y TrinasTrinos y Trinas
Trinos y Trinas
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Evaluación Primer Parcial
Evaluación Primer ParcialEvaluación Primer Parcial
Evaluación Primer Parcial
 
Презентация для Дилеров
Презентация для ДилеровПрезентация для Дилеров
Презентация для Дилеров
 
Blasco yus hardware
Blasco yus hardwareBlasco yus hardware
Blasco yus hardware
 
Middleman Guides & How to Learn
Middleman Guides & How to LearnMiddleman Guides & How to Learn
Middleman Guides & How to Learn
 
Datasheet-Flexcom
Datasheet-FlexcomDatasheet-Flexcom
Datasheet-Flexcom
 
Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...
Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...
Ц.Цолмон "Хууль зүйн бодлого ба шүүхийн салбарын боловсон хүчний өөрчлөлт, үр...
 
Mega placement drive 2015 at NIMS University
Mega placement drive 2015 at NIMS UniversityMega placement drive 2015 at NIMS University
Mega placement drive 2015 at NIMS University
 
Posterdef
PosterdefPosterdef
Posterdef
 
Resume_Finance
Resume_FinanceResume_Finance
Resume_Finance
 
History of horror pp
History of horror ppHistory of horror pp
History of horror pp
 
Romanian Tourism Fair
Romanian Tourism FairRomanian Tourism Fair
Romanian Tourism Fair
 
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
Einfach Nachrüsten mit Zenecs Navi Z-E3715 für Fiat Ducato
 
Nrc presentation ucmc_edit
Nrc presentation ucmc_editNrc presentation ucmc_edit
Nrc presentation ucmc_edit
 

Similar to Babysitting your orm essenmacher, adam

50 Shades of Fail KScope16
50 Shades of Fail KScope1650 Shades of Fail KScope16
50 Shades of Fail KScope16
Christian Berg
 
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOE
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
SPC Adriatics
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
Jonathan Holloway
 
Deep Domain
Deep DomainDeep Domain
Deep Domain
Zachary S. Brown
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
Hannes Lowette
 
Tuning ML Models: Scaling, Workflows, and Architecture
Tuning ML Models: Scaling, Workflows, and ArchitectureTuning ML Models: Scaling, Workflows, and Architecture
Tuning ML Models: Scaling, Workflows, and Architecture
Databricks
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
Eberhard Wolff
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to Work
SingleStore
 
"Hands Off! Best Practices for Code Hand Offs"
"Hands Off!  Best Practices for Code Hand Offs""Hands Off!  Best Practices for Code Hand Offs"
"Hands Off! Best Practices for Code Hand Offs"
Naomi Dushay
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
adesso AG
 
Steve Jones - Team-based Version Control
Steve Jones - Team-based Version ControlSteve Jones - Team-based Version Control
Steve Jones - Team-based Version Control
Red Gate Software
 
Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...
Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...
Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...
Digital Bond
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
Mohammad Emran Hasan
 
Useful automation
Useful automationUseful automation
Useful automation
Antonina_Burlachenko
 
Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
Jonas Brømsø
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko
Neotys
 
Silicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionSilicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in production
Daniel Coupal
 
Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in Startups
Dusan Omercevic
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
Dave Haeffner
 

Similar to Babysitting your orm essenmacher, adam (20)

50 Shades of Fail KScope16
50 Shades of Fail KScope1650 Shades of Fail KScope16
50 Shades of Fail KScope16
 
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
AOEcon17: Searchperience - The journey from PHP and Solr to Scala and Elastic...
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
Deep Domain
Deep DomainDeep Domain
Deep Domain
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
Tuning ML Models: Scaling, Workflows, and Architecture
Tuning ML Models: Scaling, Workflows, and ArchitectureTuning ML Models: Scaling, Workflows, and Architecture
Tuning ML Models: Scaling, Workflows, and Architecture
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to Work
 
"Hands Off! Best Practices for Code Hand Offs"
"Hands Off!  Best Practices for Code Hand Offs""Hands Off!  Best Practices for Code Hand Offs"
"Hands Off! Best Practices for Code Hand Offs"
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
Steve Jones - Team-based Version Control
Steve Jones - Team-based Version ControlSteve Jones - Team-based Version Control
Steve Jones - Team-based Version Control
 
Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...
Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...
Time Traveling: Adapting Techniques from the Future to Improve Reliability, J...
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
Useful automation
Useful automationUseful automation
Useful automation
 
Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko
 
Silicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionSilicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in production
 
Software Engineering in Startups
Software Engineering in StartupsSoftware Engineering in Startups
Software Engineering in Startups
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 

Recently uploaded

AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

Babysitting your orm essenmacher, adam

Editor's Notes

  1. NHibernate, L2S,SubSonic, Entity Framework, Dapper (other Micro-ORMs?)
  2. Performance, unpredictable behavior, limited visibility into DAL, ‘weird’ queries
  3. -ROI: Memory pressure, application responsiveness (latency)
  4. Advantages of CI:Detect and resolve bugs and code quality issues continuouslyEarly discovery of code conflictsCurrent build is ‘always’ availableProvides central environment for long-running metrics build (which is huge for us!)Encourages frequent check-ins, which tends to result in more modular codeTRANSITION: Code ‘quality’ checked continuously!
  5. Monitor.Enter() is to force MSTest to run initialize/tear-down methods synchronously
  6. Monitor.Enter() is to force MSTest to run initialize/tear-down methods synchronously