tags:

views:

345

answers:

2

A member of my team recently moved to LinqPad as his primary query tool (still will use SQL Studio at times) for the simple purpose of forcing himself to make using LINQ more natural to use. I thought this was a pretty good idea and am considering asking the rest of my team to make this switch. Does anyone have any thoughts / ideas on taking this approach?

Early questions I had...

  1. I feel being able to write good ANSI SQL is critical for a LOB developer. Since LINQ is a Microsoft thing, is the skills they will learn in LINQ worth the sacrifice in fully developing their ANSI SQL techniques, particularly if (when) they move on to other jobs/duties later in life. Developer development (inside and outside of company) is extremely important to me.

  2. Are there any features in SQL Studio that will be sorely missed in LinqPad?

  3. Does LinqPad have long term life? In other words, does everyone feel that LinqPad is a product that will continue to grow as .NET and SQL grows?

+4  A: 

Are there any features in SQL Studio that will be sorely missed in LinqPad?

Does LinqPad Show Estimated Execution Plan ?

David B
If you click the SQL tab in LINQPad, there's a button to open the SQL translation directly in SQL Management Studio. From there, it's usually just one click to get the execution plan.
Joe Albahari
That's a handy button. It practically renders his second question moot.
David B
+2  A: 

As a way of drilling LINQ into yourself LINQPad is great, and if as a developer you're planning on staying within the Microsoft ecology, then that's probably a good thing.

Yes, there are a number of things you can't do in LINQ that you might need another tool for, whether that's SQL Management Studio or Visual Studio, however as you can drop down to SQL in the language some of these are mitigated if you can remember the SQL for it:

  1. Create new tables
  2. Modify existing tables
  3. Create SQL Agent Jobs
  4. Import/Export data

Obviously these are mostly "management" activities.

While LINQPad won't give you the execution plan, it will give you the SQL that is going to be run.

Zhaph - Ben Duguid
Actually, you can create new tables in LINQPad just fine. There's actually an included sample that sets up the part of the Northwind schema.There's also an export to Excel, which isn't the same as export to SQL, but you still can export.
J Wynia
@j-wynia - yes, which uses SQL, not LINQ, which is what I said - "however as you can drop down to SQL in the Language some of these are mitigated if you can remember the SQL" ;) But I know I don't do enough DBA work to remember off the top of my head the SQL for creating an index on a table, or setting up backups, etc, that are very easy to do in SMS, and I still can't import data that way. Have too admit I'd not noticed the Export to Excel feature, that's quite handy though.
Zhaph - Ben Duguid