SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Daniel N. Egan Microsoft – Developer Evangelist http://www.DotNetDoc.com http://Twitter.com/DanielEgan Building a VSTO application using LINQ
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Daniel Egan
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],User Groups
[object Object],[object Object],[object Object],Twitter Your questions…
Session Objectives And Agenda Walk through of the fundamentals of VSTO development The LINQ how and why Demos, Demos, Demos…
 
Developing on Microsoft Office
A unified solutions platform for  building Office Business Applications that make line-of-business systems, enterprise data and workflows accessible and relevant to users.  Premiere developer tools for developing Office Business Applications and scalable enterprise grade solutions utilizing Visual Studio and Microsoft Office
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
What About VBA?
Scenarios Tools Post 2003 N-tier Distributed Apps Complex document add-ins  (high reuse) Simple document add-ins  (high reuse) Simple document add-ins  (low reuse) Macro modify Macro record/replay Advanced app-level add-ins Simple app-level add-ins Application repurposing VBA (as intended) VBA (as applied) Market Gap Tools Pre 2003 Scenarios Complexity
Reasons for Using VSTO vs. VBA * There are no pending plans to retire VBA at this time ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ask These Questions What business problem does this VBA solution address? What parts of this solution, if any, can I leave in VBA? Does it make sense to move this VBA solution to VSTO?
Call VSTO from VBA ,[object Object],[object Object],[object Object]
VSTO and 2007 Office System
Custom Task Panes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Outlook Form Regions ,[object Object],[object Object]
Outlook Form Region Wizard ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Visual Ribbon Designer Property Grid Ribbon Control Toolbox Design Surface
Building a VSTO Project
Linq “ It is a mistake to try to look too far ahead. The chain of destiny can only be grasped one  LINQ  at a time.” ~Sir Winston Churchill (1874 - 1965) – modified slightly  ;)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Very Brief Linq History
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Linq Goals
Language INtegrated Query (LINQ) LINQ enabled data sources LINQ To Objects Objects LINQ To XML <book> <title/> <author/> <price/> </book> XML LINQ enabled ADO.NET LINQ To DataSets LINQ To SQL LINQ To Entities Relational Others… VB C# .NET Language-Integrated Query
Channel 9 Videos Future of Languages :  Anders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman http://tinyurl.com/ 513778
Linq Query Syntax “ Syntax, my lad. It has been restored to the highest place in the republic.” ~John Steinbeck
Linq Syntax –  Why we started where we did var  query = dc.Recipes .W here (r =>  r.Title.Contains( “Chocolate” ) ) .S elect (r =>   new{ r .Title, r.NumberOfServings}) ; Extension methods Lambda expressions Object initializers Anonymous types Implicitly Declared Local Variables Extension methods
Standard Query Operators ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Set Based Query Operators ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Projection That Creates a Nested  1-Many Collection ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LINQ Queries Are Lazy ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Syntax – From a list  (Linq to Objects)
[object Object],[object Object],Syntax – From a DB
[object Object],[object Object],[object Object],Syntax – Under the hood
[object Object],[object Object],[object Object],Syntax – Under the hood Extension methods
Why are SELECT and FROM Reversed ,[object Object],[object Object]
Defining the Data Model Classes
[object Object],[object Object],The DataContext Object
Enabling a class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],But doing this manually is not required.!
Adding LINQ to our VSTO App
Summary ,[object Object],[object Object],[object Object]
Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
For More Information ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TechDays Technology Pilots ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Event IDs for Template Session Title Text Message Keyword (send to 95495) SQL Roadshow TuesAOne MSDN: What’s New for Developers: Highlights from PDC TuesATwo Partner: Microsoft Licensing and Solution Update TuesBOne TechNet: Windows Vista, Powershell and Group Policy WedsAOne MSDN: SQL 2008, VSTO, Silverlight 2.0 WedsATwo SB2 at TS2: Solution Building for System Builders TS2 Partner Event: SBS/EBS, Response Point VoIP, and S+S! WedsBOne WedsBtwo TechNet: Virtualization and Enterprise Search ThursAOne MSDN: The Role of the Architect: Today and in the Future ThursATwo Momentum:  Solution Briefing for IT and Business Executives ThursBOne Momentum Supersize Event ThursBTwo Dynamics ERP Briefing ThursCOne Partner: BPOS Deep Dive ThursCTwo
Your Feedback is Important ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Slides and Demos Slides can be found at: Demo code can be found at: www.DotNetDoc.com
 

Weitere ähnliche Inhalte

Was ist angesagt?

Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB MahmoudOHassouna
 
Project Portfolio
Project PortfolioProject Portfolio
Project Portfolioanaraghi
 
70-494 it examen braindumps
70-494 it examen braindumps70-494 it examen braindumps
70-494 it examen braindumpslilylucy
 
.NET Project Manual
.NET Project Manual.NET Project Manual
.NET Project Manualcormacsharpe
 
c# training | c# training videos | c# object oriented programming | c# course
c# training | c# training videos | c# object oriented programming | c# coursec# training | c# training videos | c# object oriented programming | c# course
c# training | c# training videos | c# object oriented programming | c# courseNancy Thomas
 
Angularjs2 presentation
Angularjs2 presentationAngularjs2 presentation
Angularjs2 presentationdharisk
 
HawkBridge - Picture This! Using CA 2E with Graphical Tools v4
HawkBridge - Picture This! Using CA 2E with Graphical Tools v4HawkBridge - Picture This! Using CA 2E with Graphical Tools v4
HawkBridge - Picture This! Using CA 2E with Graphical Tools v4Darryl Millington
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web ApplicationRishi Kothari
 
Xm Lmessagingwith Soap
Xm Lmessagingwith SoapXm Lmessagingwith Soap
Xm Lmessagingwith SoapLiquidHub
 
Visual programming lecture
Visual programming lecture Visual programming lecture
Visual programming lecture AqsaHayat3
 
Introduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 FundamentalsIntroduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 FundamentalsSanay Kumar
 
Murach : How to work with session state and cookies
Murach : How to work with session state and cookiesMurach : How to work with session state and cookies
Murach : How to work with session state and cookiesMahmoudOHassouna
 
Getting Started with VSTO
Getting Started with VSTOGetting Started with VSTO
Getting Started with VSTOLearnNowOnline
 
Importing with ease july 2012
Importing with ease july 2012Importing with ease july 2012
Importing with ease july 2012IBM Rational
 

Was ist angesagt? (17)

Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
 
Project Portfolio
Project PortfolioProject Portfolio
Project Portfolio
 
70-494 it examen braindumps
70-494 it examen braindumps70-494 it examen braindumps
70-494 it examen braindumps
 
As pnet
As pnetAs pnet
As pnet
 
.NET Project Manual
.NET Project Manual.NET Project Manual
.NET Project Manual
 
c# training | c# training videos | c# object oriented programming | c# course
c# training | c# training videos | c# object oriented programming | c# coursec# training | c# training videos | c# object oriented programming | c# course
c# training | c# training videos | c# object oriented programming | c# course
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
 
Angularjs2 presentation
Angularjs2 presentationAngularjs2 presentation
Angularjs2 presentation
 
Jmp108
Jmp108Jmp108
Jmp108
 
HawkBridge - Picture This! Using CA 2E with Graphical Tools v4
HawkBridge - Picture This! Using CA 2E with Graphical Tools v4HawkBridge - Picture This! Using CA 2E with Graphical Tools v4
HawkBridge - Picture This! Using CA 2E with Graphical Tools v4
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 
Xm Lmessagingwith Soap
Xm Lmessagingwith SoapXm Lmessagingwith Soap
Xm Lmessagingwith Soap
 
Visual programming lecture
Visual programming lecture Visual programming lecture
Visual programming lecture
 
Introduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 FundamentalsIntroduction to Visual Basic 6.0 Fundamentals
Introduction to Visual Basic 6.0 Fundamentals
 
Murach : How to work with session state and cookies
Murach : How to work with session state and cookiesMurach : How to work with session state and cookies
Murach : How to work with session state and cookies
 
Getting Started with VSTO
Getting Started with VSTOGetting Started with VSTO
Getting Started with VSTO
 
Importing with ease july 2012
Importing with ease july 2012Importing with ease july 2012
Importing with ease july 2012
 

Andere mochten auch

Win7 Multi Touch
Win7 Multi TouchWin7 Multi Touch
Win7 Multi TouchDaniel Egan
 
When Search and Social Collide
When Search and Social CollideWhen Search and Social Collide
When Search and Social CollideInnoTech
 
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiesPresentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiespranavaa
 
Building solutions with Office Graph
Building solutions with Office GraphBuilding solutions with Office Graph
Building solutions with Office GraphMavention
 
1b Win7 Task Bar
1b Win7 Task Bar1b Win7 Task Bar
1b Win7 Task BarDaniel Egan
 
何为用户体验设计
何为用户体验设计何为用户体验设计
何为用户体验设计Frank Cheung
 
Entity Framework v2 Best Practices
Entity Framework v2 Best PracticesEntity Framework v2 Best Practices
Entity Framework v2 Best PracticesAndri Yadi
 
Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010Andri Yadi
 

Andere mochten auch (11)

Win7 Multi Touch
Win7 Multi TouchWin7 Multi Touch
Win7 Multi Touch
 
Gl tvol34
Gl tvol34Gl tvol34
Gl tvol34
 
When Search and Social Collide
When Search and Social CollideWhen Search and Social Collide
When Search and Social Collide
 
LEISA Network Portal
LEISA Network PortalLEISA Network Portal
LEISA Network Portal
 
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechiesPresentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
Presentation on Visual Studio Tools for Office (VSTO) at HyderabadTechies
 
Anatomy of a mail app
Anatomy of a mail appAnatomy of a mail app
Anatomy of a mail app
 
Building solutions with Office Graph
Building solutions with Office GraphBuilding solutions with Office Graph
Building solutions with Office Graph
 
1b Win7 Task Bar
1b Win7 Task Bar1b Win7 Task Bar
1b Win7 Task Bar
 
何为用户体验设计
何为用户体验设计何为用户体验设计
何为用户体验设计
 
Entity Framework v2 Best Practices
Entity Framework v2 Best PracticesEntity Framework v2 Best Practices
Entity Framework v2 Best Practices
 
Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010Office 2010 Development in Visual Studio 2010
Office 2010 Development in Visual Studio 2010
 

Ähnlich wie Daniel Egan Msdn Tech Days Oc Day2

MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Linq To The Enterprise
Linq To The EnterpriseLinq To The Enterprise
Linq To The EnterpriseDaniel Egan
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Linq 1224887336792847 9
Linq 1224887336792847 9Linq 1224887336792847 9
Linq 1224887336792847 9google
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010Satish Verma
 
Whidbey old
Whidbey old Whidbey old
Whidbey old grenaud
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Daniel Egan Msdn Tech Days Oc
Daniel Egan Msdn Tech Days OcDaniel Egan Msdn Tech Days Oc
Daniel Egan Msdn Tech Days OcDaniel Egan
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsDave Allen
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net FundamentalsLiquidHub
 
SLC ASP.NET Framework and BPM (Eng)
SLC ASP.NET Framework and BPM (Eng)SLC ASP.NET Framework and BPM (Eng)
SLC ASP.NET Framework and BPM (Eng)Selcuk Celik
 
235042632 super-shop-ee
235042632 super-shop-ee235042632 super-shop-ee
235042632 super-shop-eehomeworkping3
 
Rushabh Shah: Application developer
Rushabh Shah: Application developerRushabh Shah: Application developer
Rushabh Shah: Application developerRushabh Shah
 
Office add ins community call - april 2019
Office add ins community call - april 2019Office add ins community call - april 2019
Office add ins community call - april 2019Microsoft 365 Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 

Ähnlich wie Daniel Egan Msdn Tech Days Oc Day2 (20)

MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Linq To The Enterprise
Linq To The EnterpriseLinq To The Enterprise
Linq To The Enterprise
 
What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Linq 1224887336792847 9
Linq 1224887336792847 9Linq 1224887336792847 9
Linq 1224887336792847 9
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Daniel Egan Msdn Tech Days Oc
Daniel Egan Msdn Tech Days OcDaniel Egan Msdn Tech Days Oc
Daniel Egan Msdn Tech Days Oc
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
SLC ASP.NET Framework and BPM (Eng)
SLC ASP.NET Framework and BPM (Eng)SLC ASP.NET Framework and BPM (Eng)
SLC ASP.NET Framework and BPM (Eng)
 
235042632 super-shop-ee
235042632 super-shop-ee235042632 super-shop-ee
235042632 super-shop-ee
 
Rushabh Shah: Application developer
Rushabh Shah: Application developerRushabh Shah: Application developer
Rushabh Shah: Application developer
 
Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
Office add ins community call - april 2019
Office add ins community call - april 2019Office add ins community call - april 2019
Office add ins community call - april 2019
 
Vs2008 Ms Lux
Vs2008 Ms LuxVs2008 Ms Lux
Vs2008 Ms Lux
 
Vs2008 Ms Lux
Vs2008 Ms LuxVs2008 Ms Lux
Vs2008 Ms Lux
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 

Kürzlich hochgeladen

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 

Kürzlich hochgeladen (20)

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 

Daniel Egan Msdn Tech Days Oc Day2

  • 1. Daniel N. Egan Microsoft – Developer Evangelist http://www.DotNetDoc.com http://Twitter.com/DanielEgan Building a VSTO application using LINQ
  • 2.
  • 3.
  • 4.
  • 5. Session Objectives And Agenda Walk through of the fundamentals of VSTO development The LINQ how and why Demos, Demos, Demos…
  • 6.  
  • 8. A unified solutions platform for building Office Business Applications that make line-of-business systems, enterprise data and workflows accessible and relevant to users. Premiere developer tools for developing Office Business Applications and scalable enterprise grade solutions utilizing Visual Studio and Microsoft Office
  • 9.
  • 10.  
  • 12. Scenarios Tools Post 2003 N-tier Distributed Apps Complex document add-ins (high reuse) Simple document add-ins (high reuse) Simple document add-ins (low reuse) Macro modify Macro record/replay Advanced app-level add-ins Simple app-level add-ins Application repurposing VBA (as intended) VBA (as applied) Market Gap Tools Pre 2003 Scenarios Complexity
  • 13.
  • 14. Ask These Questions What business problem does this VBA solution address? What parts of this solution, if any, can I leave in VBA? Does it make sense to move this VBA solution to VSTO?
  • 15.
  • 16. VSTO and 2007 Office System
  • 17.
  • 18.
  • 19.
  • 20. Visual Ribbon Designer Property Grid Ribbon Control Toolbox Design Surface
  • 21. Building a VSTO Project
  • 22. Linq “ It is a mistake to try to look too far ahead. The chain of destiny can only be grasped one LINQ at a time.” ~Sir Winston Churchill (1874 - 1965) – modified slightly ;)
  • 23.
  • 24.
  • 25. Language INtegrated Query (LINQ) LINQ enabled data sources LINQ To Objects Objects LINQ To XML <book> <title/> <author/> <price/> </book> XML LINQ enabled ADO.NET LINQ To DataSets LINQ To SQL LINQ To Entities Relational Others… VB C# .NET Language-Integrated Query
  • 26. Channel 9 Videos Future of Languages : Anders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman http://tinyurl.com/ 513778
  • 27. Linq Query Syntax “ Syntax, my lad. It has been restored to the highest place in the republic.” ~John Steinbeck
  • 28. Linq Syntax – Why we started where we did var query = dc.Recipes .W here (r => r.Title.Contains( “Chocolate” ) ) .S elect (r => new{ r .Title, r.NumberOfServings}) ; Extension methods Lambda expressions Object initializers Anonymous types Implicitly Declared Local Variables Extension methods
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Defining the Data Model Classes
  • 39.
  • 40.
  • 41. Adding LINQ to our VSTO App
  • 42.
  • 43.
  • 44.
  • 45.
  • 46. Event IDs for Template Session Title Text Message Keyword (send to 95495) SQL Roadshow TuesAOne MSDN: What’s New for Developers: Highlights from PDC TuesATwo Partner: Microsoft Licensing and Solution Update TuesBOne TechNet: Windows Vista, Powershell and Group Policy WedsAOne MSDN: SQL 2008, VSTO, Silverlight 2.0 WedsATwo SB2 at TS2: Solution Building for System Builders TS2 Partner Event: SBS/EBS, Response Point VoIP, and S+S! WedsBOne WedsBtwo TechNet: Virtualization and Enterprise Search ThursAOne MSDN: The Role of the Architect: Today and in the Future ThursATwo Momentum: Solution Briefing for IT and Business Executives ThursBOne Momentum Supersize Event ThursBTwo Dynamics ERP Briefing ThursCOne Partner: BPOS Deep Dive ThursCTwo
  • 47.
  • 48. Slides and Demos Slides can be found at: Demo code can be found at: www.DotNetDoc.com
  • 49.