Missing ProviderName when debugging AzureFunction as well as deploying azure function

前端 未结 4 749
忘了有多久
忘了有多久 2020-11-29 09:30

I have an issue getting a DbContext to correctly pull my connection string from my local.settings.json

Context:

  • This is an Az
4条回答
  •  迷失自我
    2020-11-29 10:13

    I encountered the similar issue before, I would use the following approach for achieving my purpose, you could refer to it:

    local.settings.json

    {
      "IsEncrypted": false,
      "Values": {
        "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=brucchstorage;AccountKey=",
        "AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=brucchstorage;AccountKey=",
        "sqldb-connectionstring": "Data Source=.\\sqlexpress;Initial Catalog=DefaultConnection;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
      },
      "ConnectionStrings": {
        "Bruce_SQLConnectionString": "Data Source=.\\sqlexpress;Initial Catalog=DefaultConnection;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
      }
    } 
    

    For retrieving the connection string:

    var connString = ConfigurationManager.AppSettings["sqldb-connectionstring"];
    //or var connString = ConfigurationManager.ConnectionStrings["Bruce_SQLConnectionString"].ConnectionString;
    using (var dbContext = new BruceDbContext(connString))
    {
        //TODO:
    }
    

    Or you could init your no-argument constructor for your DbContext as follows:

    public class BruceDbContext:DbContext
    {
        public BruceDbContext()
            : base("Bruce_SQLConnectionString")
        {
        }
    
        public BruceDbContext(string connectionString) : base(connectionString)
        {
        }
    }
    

    Then, you could create the instance for your DbContext as follows:

    using (var dbContext = new BruceDbContext(connString))
    {
        //TODO:
    }
    

    Moreover, you could refer to Local settings file for Azure Functions.

提交回复
热议问题