public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest request, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); int id; if (!Int32.TryParse(request.Query["id"], out id)) { return(new BadRequestResult()); } log.LogInformation($"{id}"); string connectionString = Environment.GetEnvironmentVariable("SqlConnectionString", EnvironmentVariableTarget.Process); log.LogInformation(connectionString); DbContextOptions <ContosoSpacesContext> options = new DbContextOptionsBuilder <ContosoSpacesContext>() .UseSqlServer(connectionString) .Options; Location result = null; using (ContosoSpacesContext context = new ContosoSpacesContext(options)) { result = await context.Locations .Include(l => l.Rooms) .Where(l => l.Id == id) .SingleOrDefaultAsync(); } return(new OkObjectResult(result)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get")] HttpRequest request, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string connectionString = Environment.GetEnvironmentVariable("SqlConnectionString", EnvironmentVariableTarget.Process); log.LogInformation(connectionString); DbContextOptions <ContosoSpacesContext> options = new DbContextOptionsBuilder <ContosoSpacesContext>() .UseSqlServer(connectionString) .Options; List <Location> recentLocations = new List <Location>(); using (ContosoSpacesContext context = new ContosoSpacesContext(options)) { List <Location> locations = await context.Locations .OrderByDescending(o => o.LastRenovationDate) .Take(4) .ToListAsync <Location>(); recentLocations.AddRange(locations); } return(new OkObjectResult(recentLocations)); }
public static async Task Main(string[] args) { IConfigurationBuilder builder = new ConfigurationBuilder() .AddJsonFile($"appsettings.json") .AddEnvironmentVariables(); IConfigurationRoot configuration = builder.Build(); ConnectionStrings connectionStrings = configuration.GetSection(nameof(ConnectionStrings)).Get <ConnectionStrings>(); string sqlConnectionString = connectionStrings.AzureSqlDb; Console.WriteAscii("Seeding SQL Database"); Console.WriteLine($"Connection String:\t{sqlConnectionString}"); DbContextOptions <ContosoSpacesContext> options = new DbContextOptionsBuilder <ContosoSpacesContext>() .UseSqlServer(sqlConnectionString) .Options; using ContosoSpacesContext context = new ContosoSpacesContext(options); await context.Database.EnsureCreatedAsync(); Console.WriteLine("Creating Database"); string seedJsonPath = Path.Combine(Environment.CurrentDirectory, "seed.json"); string json = await File.ReadAllTextAsync(seedJsonPath); List <Location> locations = JsonConvert.DeserializeObject <List <Location> >(json); context.Locations.AddRange(locations); foreach (var location in locations) { Console.WriteLine($"Submitting\t{location.Name}"); } await context.SaveChangesAsync(); }