Visual Basic Blog

A group blog from members of the VB team

Did you know? You can unwind the call stack from exceptions (Bill Horst)

The ability to unwind the call stack from exceptions is one of the debugger features that was newly introduced in Visual Basic.NET 2005. When the debugger hits a first-chance exception, you can unwind the call stack in order to make code edits to fix the exception and continue debugging with the changes. The exception assistant UI will have an...

Community Interview with Bill Horst (Beth Massi)

Continuing the community interviews from our Italian Visual Basic MVP Alessandro Del Sole, this time we have Bill Horst, a tester on the VB Team. You might know Bill from his awesome series of blog posts on Converting SQL to LINQ.Also check out the Visual Basic Team page for pictures and bios and visit the home page of the Visual Basic ...

Converting SQL to LINQ, Part 10: Like (Bill Horst)

This post assumes you’ve read my previous Converting SQL to LINQ posts. I haven’t had much in the way of specific requests for more LINQ posts, so I’d still welcome any suggestions that people want to offer.  I did get one request about how to mimic the LIKE keyword functionality in VB LINQ. In SQL, the LIKE ...

STAThread vs. MTAThread (WHorst)

I recently ran into an interesting threading problem that I wanted to share, so that perhaps I can save some people from the same confusion I had. I started with a C# application someone else had written.  I’ll call it “DeltaEngine” for the purpose of this post.  DeltaEngine calls into a native assembly and ...

Converting SQL to LINQ, Part 9: Full Outer Join (Bill Horst)

This post assumes you’ve read the previous posts in this series.  It makes the same assumptions as Part 8, and I will pick up where I left off, covering Full Outer Join.  Once again, I recognize this isn’t an ideal situation, so if you’d like to see better support of Full Outer Join in a future VB release, you can ...

Converting SQL to LINQ, Part 8: Left/Right Outer Join (Bill Horst)

This post assumes you’ve read the previous posts in this series.          After my post on joins, I’ve had some questions about outer joins.  As you can see in part 6, VB9 doesn’t have smooth support for Left or Right join.  I showed how to get similar functionality with ...

Converting SQL to LINQ, Part 7: UNION, TOP, Subqueries (Bill Horst)

This post assumes you’ve read the previous posts in this series:           Converting SQL to LINQ, Part 1: The Basics           Converting SQL to LINQ, Part 2: FROM and SELECT           Converting SQL to LINQ, Part 3: DISTINCT, WHERE, ORDER BY and Operators           Converting SQL to LINQ, Part 4: ...

Converting SQL to LINQ, Part 6: Joins (Bill Horst)

This post assumes you’ve read the previous posts in this series:           Converting SQL to LINQ, Part 1: The Basics           Converting SQL to LINQ, Part 2: FROM and SELECT           Converting SQL to LINQ, Part 3: DISTINCT, WHERE, ORDER BY and Operators           Converting SQL to LINQ, Part 4: ...

Converting SQL to LINQ, Part 5: GROUP BY and HAVING (Bill Horst)

This post assumes you’ve read the previous posts in this series:           Converting SQL to LINQ, Part 1: The Basics           Converting SQL to LINQ, Part 2: FROM and SELECT           Converting SQL to LINQ, Part 3: DISTINCT, WHERE, ORDER BY and Operators           Converting SQL to LINQ, Part 4: ...

Converting SQL to LINQ, Part 4: Functions (Bill Horst)

This post assumes you’ve read the previous posts in this series:           Converting SQL to LINQ, Part 1: The Basics           Converting SQL to LINQ, Part 2: FROM and SELECT           Converting SQL to LINQ, Part 3: DISTINCT, WHERE, ORDER BY and Operators This post will discuss scalar and aggregate functions...