This is in my startup file (Dependency Injection)
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddDbContext<CatsDBContext>(
options =>
{
const string Name = "SqlConnectionString";
options.UseSqlServer(Configuration.GetConnectionString(Name));
});
This is my local.settings.json
{
"IsEncrypted": false, "Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet" },
"ConnectionStrings": {
"SqlConnectionString": "Server=tcp:animal77.database.windows.net,1433;Initial Catalog=CatsDB;Persist Security Info=False;User ID=j;Password=A;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;"
} }
This is my context
namespace Shizzle.Models
{
public partial class CatsDBContext : DbContext
{
public CatsDBContext()
{
}
public CatsDBContext(DbContextOptions<CatsDBContext> options)
: base(options)
{
}
public virtual DbSet<Cats> Cats { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
#warning
// optionsBuilder.UseSqlServer("Server=tcp:animal77.database.windows.net,1433;Initial Catalog=CatsDB;Persist Security Info=False;User ID=j;Password='';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
}
This is my function that I want it to do to the db
namespace Shizzle
{
public class Function1
{
private readonly CatsDBContext _applicationDbContext;
public Function1(CatsDBContext applicationDbContext)
{
_applicationDbContext = applicationDbContext;
}
[FunctionName("Function1")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string name = req.Query["name"];
var demo = new Cats { Name = "Jason", Id = 5 };
_applicationDbContext.Cats.Add(demo);
_applicationDbContext.SaveChanges();
and this is my startup DI class :
[assembly: FunctionsStartup(typeof(Startup))]
namespace Shizzle
{
class Startup : FunctionsStartup
{
public IConfiguration Configuration { get; }
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddDbContext<CatsDBContext>(
options =>
{
const string Name = "SqlConnectionString";
options.UseSqlServer(Configuration.GetConnectionString(Name));
});
}
}
}
And I am getting this error in Visual Studio 2019
What can I try next?
