SlideShare uma empresa Scribd logo
1 de 22
LINQ Tools Jim Wooley www.ThinqLinq.com www.LinqInAction.net www.Twitter.com/LinqKinq
Agenda Samples and Plugins Stand alone profilers Designer extensions Code Gen Extensions Providers
Samples What is it? The LINQ Samples include tools, addins and visualizers Download Site: http://code.msdn.microsoft.com/csharpsamples Example Problem(s) it solves Allows you to peak under the covers and see what LINQ is doing Makes it easier to work with XML in C# Installation Notes: Find the downloads in Visual Studio clicking on Help then Samples
LINQ Samples
EF Visualizer What is it? Visualizer for Entity Framework Queries Download Site: www.rajvenkatesh.com/projects Example Problem(s) it solvesSee the queries generated by the Entity Framework. Installation Notes: XCopy Deploy library into Visualizers directory
Query profiler $ What is it? SQL Server’s built in profiler tool to show all requests evaluated by server Download Site: N/A Example Problem(s) it solvesSee the queries issued to the database, including updates. Installation Notes: Installed with the SQL Server client tools Usage Notes: Works only with SQL Server
Huagati LINQ to SQL Profiler $ What is it? Profiling tool to monitor DataContext actions. Download Site: http://www.huagati.com/L2SProfiler/ Example Problem(s) it solvesDifficult to see database actions in a running application. Installation Notes: Custom installer. Usage Notes: Need to add extension methods on DataContext to enable logging.
L2S Prof $ What is it? Profiling tool to monitor DataContext actions. Download Site: http://l2sprof.com/home
LINQPad What is it? Stand alone tool to prototype LINQ and .Net code. Download Site: http://www.LinqPad.Net Example Problem(s) it solvesLearn LINQ without needing to create full solutions.Easily prototype LINQ queries. Installation Notes: X Copy Deployment Usage Notes: Includes samples from “C# In  a Nutshell“ and “LINQ in Action”
LINQ Tools – EDM Designer What is it? Replacement editor for managing large EDMX models Download Site: http://www.codeplex.com/edmdesigner Example Problem(s) it solvesManaging large databases is difficult in a single view. Installation Notes: X-copy deploy (includes source) Usage Notes: http://msmvps.com/blogs/matthieu/archive/ tags/EDM+Designer/ default.aspx
Huagati DBML/EDMX Tools $ What is it? VS Add-in to manage refreshing models and DB Schemas Download Site: http://www.huagati.com/dbmltools/ Example Problem(s) it solvesExisting tools have problems when the DB Schema changes. This adds refresh abilities. Usage Notes: Integrated into Visual Studio
Code Gen - L2ST4 What is it? T4 Code Generation Templates for LINQ to SQL Download Site: http://l2st4.codeplex.com/ Example Problem(s) it solvesCustomize the code created for the LINQ to SQL Classes Installation Notes: Xcopy deployment of 2 files. Remove build action on .dbml file. Usage Notes: T4 used heavily in VS 2010
Code Gen– PLinqo $ What is it? Supercharged LINQ to SQL Download Site: http://plinqo.com Example Problem(s) it solvesAdds features missing in LINQ to SQL. Installation Notes: Requires CodeSmith(but see http://plinqo.com/offer.ashx)
LINQ Providers – I4O What is it? Indexed LINQ to Objects Download Site: http://www.codeplex.com/i4o Example Problem(s) it solvesLINQ to Object joins perform use table scans. This adds hashtablesto optimize frequent lookups. Installation Notes: Build and add reference Usage Notes: Explained at http://blog.magenic.com/blogs/aarone/archive/2007/04/09/ Introducing-i4o.aspx
LINQ Providers – PLINQ What is it? Parallel LINQ To Objects Download Site: N/A: Included in .Net 4.0 Example Problem(s) it solvesProvides Multi-core support for LINQ to Objects queries Usage Notes: Add the reference and then make your query parallel using .AsParallel
LINQ Providers – LINQ to XSD What is it? Typed LINQ to XML Download Site: http://linqtoxsd.codeplex.com/ Example Problem(s) it solvesLINQ to XML queries are not typesafe and don’t have intellisense. Installation Notes: See ReadMe.txt. Need to add Environment Variable. Usage Notes: Point the command line tool at a schema to generate the proxy classes.
LINQ Providers – LINQ to REST What is it? LINQ provider to consume ADO.Net Data Services Download Site: N/A: Included with .NET 3.5 sp 1 Example Problem(s) it solvesADO.Net Data Services adds another query syntax in the URI. This abstracts that syntax. Installation Notes: Add reference Usage Notes: Many LINQ statements can’t be translated to URI causing runtime exceptions
LINQ Providers – LINQ to Twitter What is it? Sample LINQ provider to access the Twitter APIs Download Site: http://linqtotwitter.codeplex.com/ Example Problem(s) it solvesUnderstand how to build custom LINQ providers against non-standard data sources Installation Notes: Build and add reference Usage Notes: Requires building for x86 for authentication. Also supports OAuth.
LINQ Providers – BLINQ What is it? Sample LINQ provider to access the BING API Download Site: http://www.nikhilk.net/BLinq-LINQ-over-Bing.aspx Example Problem(s) it solvesUnderstand how to build custom LINQ providers against non-standard data sources Installation Notes: Build and add reference Usage Notes: Requires an AppID from http://www.bing.com/developers
LINQ Providers – IQUeryable Toolkit What is it? Tool sample to understand parsing Iqueryable types. Download Site:  http://www.codeplex.com/IQToolkit Example Problem(s) it solvesBuilding a provider is difficult. Usage Notes: See Matt Warren’s impressive tome starting with http://blogs.gotdotnet.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx
Tool Types
Jim Wooley www.ThinqLinq.com www.LinqInAction.net www.Twitter.com/LinqKinq  Questions www.SpeakerRate.com/jwooley

Mais conteúdo relacionado

Mais procurados

Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Enkitec
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database Development
Vladimir Bakhov
 
Dynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talkDynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talk
ITD Systems
 

Mais procurados (20)

Continuous delivery from the trenches
Continuous delivery from the trenchesContinuous delivery from the trenches
Continuous delivery from the trenches
 
Taking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and GitTaking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and Git
 
Version Control
Version ControlVersion Control
Version Control
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...
 
The ultimate cheat sheet on .net core, .net framework, and .net standard
The ultimate cheat sheet on .net core, .net framework, and .net standardThe ultimate cheat sheet on .net core, .net framework, and .net standard
The ultimate cheat sheet on .net core, .net framework, and .net standard
 
PHP Symfony MicroServices Migration @MeeticTech
PHP Symfony MicroServices Migration @MeeticTechPHP Symfony MicroServices Migration @MeeticTech
PHP Symfony MicroServices Migration @MeeticTech
 
Automated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and JenkinsAutomated Testing Environment by Bugzilla, Testopia and Jenkins
Automated Testing Environment by Bugzilla, Testopia and Jenkins
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database Development
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Dynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talkDynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talk
 
API Tooling in Eclipse
API Tooling in EclipseAPI Tooling in Eclipse
API Tooling in Eclipse
 
Continous integration with jenkins
Continous integration with jenkinsContinous integration with jenkins
Continous integration with jenkins
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?
 
Quality Assurance using the Eclipse IDE
Quality Assurance using the Eclipse IDEQuality Assurance using the Eclipse IDE
Quality Assurance using the Eclipse IDE
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
JENKINS Training
JENKINS TrainingJENKINS Training
JENKINS Training
 
Chicago alm user group tfs version control poster - tfvc and git
Chicago alm user group   tfs version control poster - tfvc and gitChicago alm user group   tfs version control poster - tfvc and git
Chicago alm user group tfs version control poster - tfvc and git
 
Open Source Compliance for DevOps - OSCON 2017
Open Source Compliance for DevOps - OSCON 2017Open Source Compliance for DevOps - OSCON 2017
Open Source Compliance for DevOps - OSCON 2017
 

Semelhante a Linq tools

Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
S. M. Hossein Hamidi
 
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
cNguyn506241
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
Yoav Avrahami
 
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax PluginsHnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
dominion
 

Semelhante a Linq tools (20)

Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch Application
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
Vs2005p
Vs2005pVs2005p
Vs2005p
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
 
2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently
 
Brudnick Net Ppt Portfolio
Brudnick Net Ppt PortfolioBrudnick Net Ppt Portfolio
Brudnick Net Ppt Portfolio
 
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
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
DevNation
DevNation DevNation
DevNation
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
 
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed Culture
 
Lightning web components
Lightning web components Lightning web components
Lightning web components
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
Advanced PowerShell Automation
Advanced PowerShell AutomationAdvanced PowerShell Automation
Advanced PowerShell Automation
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax PluginsHnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
Hnd201 Building Ibm Lotus Domino Applications With Ajax Plugins
 

Mais de Jim Wooley

Entity Framework Migration
Entity Framework MigrationEntity Framework Migration
Entity Framework Migration
Jim Wooley
 
Dynamic programming in a statically typed world
Dynamic programming in a statically typed worldDynamic programming in a statically typed world
Dynamic programming in a statically typed world
Jim Wooley
 

Mais de Jim Wooley (8)

Improving code quality with Roslyn analyzers
Improving code quality with Roslyn analyzersImproving code quality with Roslyn analyzers
Improving code quality with Roslyn analyzers
 
Tearing down the //build/ 2016 conference
Tearing down the //build/ 2016 conferenceTearing down the //build/ 2016 conference
Tearing down the //build/ 2016 conference
 
Ssdt wooley
Ssdt wooleySsdt wooley
Ssdt wooley
 
Windows 8 as an Application Integration Hub
Windows 8 as an Application Integration HubWindows 8 as an Application Integration Hub
Windows 8 as an Application Integration Hub
 
Reactive Extensions for JavaScript
Reactive Extensions for JavaScriptReactive Extensions for JavaScript
Reactive Extensions for JavaScript
 
Entity Framework Migration
Entity Framework MigrationEntity Framework Migration
Entity Framework Migration
 
Dynamic programming in a statically typed world
Dynamic programming in a statically typed worldDynamic programming in a statically typed world
Dynamic programming in a statically typed world
 
Rx forwp7
Rx forwp7Rx forwp7
Rx forwp7
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Linq tools

  • 1. LINQ Tools Jim Wooley www.ThinqLinq.com www.LinqInAction.net www.Twitter.com/LinqKinq
  • 2. Agenda Samples and Plugins Stand alone profilers Designer extensions Code Gen Extensions Providers
  • 3. Samples What is it? The LINQ Samples include tools, addins and visualizers Download Site: http://code.msdn.microsoft.com/csharpsamples Example Problem(s) it solves Allows you to peak under the covers and see what LINQ is doing Makes it easier to work with XML in C# Installation Notes: Find the downloads in Visual Studio clicking on Help then Samples
  • 5. EF Visualizer What is it? Visualizer for Entity Framework Queries Download Site: www.rajvenkatesh.com/projects Example Problem(s) it solvesSee the queries generated by the Entity Framework. Installation Notes: XCopy Deploy library into Visualizers directory
  • 6. Query profiler $ What is it? SQL Server’s built in profiler tool to show all requests evaluated by server Download Site: N/A Example Problem(s) it solvesSee the queries issued to the database, including updates. Installation Notes: Installed with the SQL Server client tools Usage Notes: Works only with SQL Server
  • 7. Huagati LINQ to SQL Profiler $ What is it? Profiling tool to monitor DataContext actions. Download Site: http://www.huagati.com/L2SProfiler/ Example Problem(s) it solvesDifficult to see database actions in a running application. Installation Notes: Custom installer. Usage Notes: Need to add extension methods on DataContext to enable logging.
  • 8. L2S Prof $ What is it? Profiling tool to monitor DataContext actions. Download Site: http://l2sprof.com/home
  • 9. LINQPad What is it? Stand alone tool to prototype LINQ and .Net code. Download Site: http://www.LinqPad.Net Example Problem(s) it solvesLearn LINQ without needing to create full solutions.Easily prototype LINQ queries. Installation Notes: X Copy Deployment Usage Notes: Includes samples from “C# In a Nutshell“ and “LINQ in Action”
  • 10. LINQ Tools – EDM Designer What is it? Replacement editor for managing large EDMX models Download Site: http://www.codeplex.com/edmdesigner Example Problem(s) it solvesManaging large databases is difficult in a single view. Installation Notes: X-copy deploy (includes source) Usage Notes: http://msmvps.com/blogs/matthieu/archive/ tags/EDM+Designer/ default.aspx
  • 11. Huagati DBML/EDMX Tools $ What is it? VS Add-in to manage refreshing models and DB Schemas Download Site: http://www.huagati.com/dbmltools/ Example Problem(s) it solvesExisting tools have problems when the DB Schema changes. This adds refresh abilities. Usage Notes: Integrated into Visual Studio
  • 12. Code Gen - L2ST4 What is it? T4 Code Generation Templates for LINQ to SQL Download Site: http://l2st4.codeplex.com/ Example Problem(s) it solvesCustomize the code created for the LINQ to SQL Classes Installation Notes: Xcopy deployment of 2 files. Remove build action on .dbml file. Usage Notes: T4 used heavily in VS 2010
  • 13. Code Gen– PLinqo $ What is it? Supercharged LINQ to SQL Download Site: http://plinqo.com Example Problem(s) it solvesAdds features missing in LINQ to SQL. Installation Notes: Requires CodeSmith(but see http://plinqo.com/offer.ashx)
  • 14. LINQ Providers – I4O What is it? Indexed LINQ to Objects Download Site: http://www.codeplex.com/i4o Example Problem(s) it solvesLINQ to Object joins perform use table scans. This adds hashtablesto optimize frequent lookups. Installation Notes: Build and add reference Usage Notes: Explained at http://blog.magenic.com/blogs/aarone/archive/2007/04/09/ Introducing-i4o.aspx
  • 15. LINQ Providers – PLINQ What is it? Parallel LINQ To Objects Download Site: N/A: Included in .Net 4.0 Example Problem(s) it solvesProvides Multi-core support for LINQ to Objects queries Usage Notes: Add the reference and then make your query parallel using .AsParallel
  • 16. LINQ Providers – LINQ to XSD What is it? Typed LINQ to XML Download Site: http://linqtoxsd.codeplex.com/ Example Problem(s) it solvesLINQ to XML queries are not typesafe and don’t have intellisense. Installation Notes: See ReadMe.txt. Need to add Environment Variable. Usage Notes: Point the command line tool at a schema to generate the proxy classes.
  • 17. LINQ Providers – LINQ to REST What is it? LINQ provider to consume ADO.Net Data Services Download Site: N/A: Included with .NET 3.5 sp 1 Example Problem(s) it solvesADO.Net Data Services adds another query syntax in the URI. This abstracts that syntax. Installation Notes: Add reference Usage Notes: Many LINQ statements can’t be translated to URI causing runtime exceptions
  • 18. LINQ Providers – LINQ to Twitter What is it? Sample LINQ provider to access the Twitter APIs Download Site: http://linqtotwitter.codeplex.com/ Example Problem(s) it solvesUnderstand how to build custom LINQ providers against non-standard data sources Installation Notes: Build and add reference Usage Notes: Requires building for x86 for authentication. Also supports OAuth.
  • 19. LINQ Providers – BLINQ What is it? Sample LINQ provider to access the BING API Download Site: http://www.nikhilk.net/BLinq-LINQ-over-Bing.aspx Example Problem(s) it solvesUnderstand how to build custom LINQ providers against non-standard data sources Installation Notes: Build and add reference Usage Notes: Requires an AppID from http://www.bing.com/developers
  • 20. LINQ Providers – IQUeryable Toolkit What is it? Tool sample to understand parsing Iqueryable types. Download Site: http://www.codeplex.com/IQToolkit Example Problem(s) it solvesBuilding a provider is difficult. Usage Notes: See Matt Warren’s impressive tome starting with http://blogs.gotdotnet.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx
  • 22. Jim Wooley www.ThinqLinq.com www.LinqInAction.net www.Twitter.com/LinqKinq Questions www.SpeakerRate.com/jwooley