22
LINQ TOOLS Jim Wooley www.ThinqLinq.com www.LinqInAction.net www.Twitter.com/LinqKinq

Linq tools

Embed Size (px)

DESCRIPTION

Tools to make your life wo

Citation preview

Page 1: Linq tools

LINQ TOOLS

Jim Wooleywww.ThinqLinq.com

www.LinqInAction.netwww.Twitter.com/LinqKinq

Page 2: Linq tools

AGENDA

Samples and Plugins Stand alone profilers Designer extensions Code Gen Extensions Providers

Page 3: Linq tools

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

Page 4: Linq tools

LINQ SAMPLES

Page 5: Linq tools

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

Page 6: Linq tools

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

$

Page 7: Linq tools

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.

$

Page 8: Linq tools

L2S PROF

What is it? Profiling tool to monitor DataContext actions.

Download Site: http://l2sprof.com/home

$

Page 9: Linq tools

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”

Page 10: Linq tools

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

Page 11: Linq tools

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

$

Page 12: Linq tools

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

Page 13: Linq tools

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)

$

Page 14: Linq tools

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 hashtables to 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

Page 15: Linq tools

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

Page 16: Linq tools

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.

Page 17: Linq tools

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

Page 18: Linq tools

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.

Page 19: Linq tools

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

Page 20: Linq tools

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

Page 21: Linq tools

TOOL TYPES

• Query Visualizer• Expression Tree Visualizer• Paste As Xml Element

Samples• SQL Server Query Profiler• LINQPad• Huagati LINQ to SQL Profiler

Profilers• EDM Designer• Huagati DBML/EDMX Tools

Designer

• L2ST4• PLINQO

Code Gen

• I4O PLINQ• LINQ to XSD LINQ to REST• LINQ to Twitter BLINQ

Providers

Page 22: Linq tools

Jim Wooleywww.ThinqLinq.com

www.LinqInAction.netwww.Twitter.com/LinqKinq

QUESTIONS

www.SpeakerRate.com/jwooley