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

Linq tools

Jan 22, 2015

Download

Technology

Jim Wooley

Tools to make your life wo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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