Skip to content
  1. We help small teams achieve big things.
  2. Our Technical Fellow just became a Microsoft MVP!
  3. We run the Azure Weekly newsletter.
  4. We just won 2 awards.
  5. We just published Programming C# 8.0 book.
  6. We run the Power BI Weekly newsletter.
  7. Our NDC London 2020 talk is now available online!
  8. We are school STEM ambassadors.
James Broome By James Broome Director of Engineering
Azure Synapse for C# Developers: 5 things you need to know

One of the biggest challenges of digital transformation is the ability for organizations to adopt emerging technology. It could be the best platform in the world but if you need to down tools for 6 months to get up to speed with new languages then you could be dead in the water before you even start.

So I wouldn't blame you if you are sat there listening to all the Azure Synapse hype and thinking, "yeah, maybe another day...".

But while I have you, let me quickly highlight some .NET/C# goodies in Azure Synapse Analytics that you might not know about.

1. SQL + .NET

If you're a C# dev then the chances are you have written an application that talks to a SQL Server database. I expect you've written new SqlConnection(connectionString) more times than you can remember.

This is good, because that's exactly what you need to do to start integrating Synapse into your .NET applications. This applies to provisioned SQL Pools and also the new on-demand SQL capabilities.

2. SQL + SSMS

If you've done anything with SQL Server you have probably found yourself in SQL Server Management Studio (SSMS).

Did you know you can connect SSMS directly to Synapse and start querying the contents of your data lake as easily as you can query any SQL Server? In fact, you can use any client that can talk to SQL Server to talk to Synapse. Tip: try out SQL notebooks in Azure Data Studio.

Fingers crossed a pure SQL kernel will come to Synapse notebooks soon.

3. .NET + Spark

If you want to perform more complex processing such as training ML models over petabytes of data then you are likely to need Spark. Synapse comes pre-initialized with .NET for Apache Spark which means you can do this with 100% .NET code - no need to learn Python or Scala.

You simply write your .NET Spark applications in VS Code or Visual Studio and have them run as jobs in Synapse. To get started, checkout these batch processing, structured streaming and ML sentiment analysis examples.

4. .NET (C#) + Notebooks

Synapse notebooks comes pre-installed with a .NET kernel courtesy of .NET Interactive which along with .NET for Spark means you can explore and document your experiments all from within Synapse Studio.

I'm a huge fan of notebooks so definitely give this a try. We've recently conducted a series of Synapse SQL Serverless benchmarks all conducted via .NET notebooks, I'll share the results of these in a separate post.

5. Cosmos DB + Synapse

If you are using Cosmos DB, you can enable Synapse Link and start querying your application data using any of the options I've already mentioned. And while you are at it, why not join your Cosmos DB data over files in your data lake or with data from any other Synapse Link enabled Cosmos DB account!

It's never been a better time to be a .NET developer.

Want to get started with Synapse but not sure where to start?

I thoroughly recommend that you checkout Microsoft's Azure Synapse Analytics: How It Works virtual event. You will learn about all about Azure Synapse through technical demos and customer stories. I'll be there showing how we've been using SQL Serverless to solve a really interesting IoT problem.

Endjin's Azure Synapse Analytics Jumpstart is everything you need to kick-start and de-risk your analytics programme. If you want to know more you can book a call or email us at hello@endjin.com.

James Broome

Director of Engineering

James Broome

James has spent nearly 20 years delivering high quality software solutions addressing global business problems, with teams and clients across 3 continents. As Director of Engineering at endjin, he leads the team in providing technology strategy, data insights and engineering support to organisations of all sizes - from disruptive B2C start-ups, to global financial institutions. He's responsible for the success of our customer-facing project delivery, as well as the capability and growth of our delivery team.