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