Skip to content

Instantly share code, notes, and snippets.

@MoimHossain
Created July 15, 2018 17:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MoimHossain/7c480d68008deeae1bb6c47e65962f7b to your computer and use it in GitHub Desktop.
Save MoimHossain/7c480d68008deeae1bb6c47e65962f7b to your computer and use it in GitHub Desktop.
SQLHelper.cs
public static class TokenHelper
{
public static Task<String> GetTokenAsync()
{
var provider = new AzureServiceTokenProvider();
return provider.GetAccessTokenAsync("https://database.windows.net/");
}
}
public static class SqlConnectionExtensions
{
public async static Task<TPayload> ExecuteScalar<TPayload>(string commandText)
where TPayload: class
{
var connectionString = "connection string without credentails";
var token = await ADAuthentication.GetSqlTokenAsync();
using (var conn = new SqlConnection(connectionString))
{
conn.AccessToken = token;
await conn.OpenAsync();
using (var cmd = new SqlCommand(commandText, conn))
{
var result = await cmd.ExecuteScalarAsync();
return result as TPayload;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment