如何在Azure函数的应用程序设置中定义Providername属性 [英] How to define providername attribute in Application Settings of Azure Function

查看:20
本文介绍了如何在Azure函数的应用程序设置中定义Providername属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的Azure函数内建立实体框架数据库连接。因此,我需要在函数的应用程序设置中定义一个连接字符串。只是在Azure门户中添加一个以我的DbContext类名作为键的连接字符串会导致异常,因为在连接到数据库时未定义Providername属性。我正在使用Entity Frameworkv6.2.0

例外情况是:

System.InvalidOperationException:‘应用程序配置文件中的连接字符串’CloudOrchestrationEntities‘不包含所需的ProviderName属性。"’

有没有办法在Azure门户的应用程序设置中使用类似于我在local.settings.json中定义的json字符串?

"ConnectionStrings": {
"CloudOrchestrationEntities": {
  "ConnectionString": "metadata=res://*/CloudOrchestration.csdl|res://*/CloudOrchestration.ssdl|res://*/CloudOrchestration.msl;provider=System.Data.SqlClient;provider connection string='data source=*****.database.windows.net;initial catalog=*****;user id=*****;password=*****;MultipleActiveResultSets=True;App=EntityFramework'",
  "ProviderName": "System.Data.EntityClient"
}
}
将此json条目用作Azure门户中的连接字符串(包括提供程序名称)会导致我的函数代码中出现无效的连接字符串。

我当然可以定义连接字符串as a usual app setting and retrieve it in my function code来连接到数据库,但这不是我希望这个问题得到解决的方式。实际上,我不想编辑自动生成的EF类,因为我与另一个项目共享它们。

推荐答案

无法将提供程序名称指定为System.Data.EntityClient,只能指定为System.Data.SqlClientMySql.Data.MySqlClient

此问题中有一些解决方法和可能的解决方案Missing ProviderName when debugging AzureFunction as well as deploying azure function

这篇关于如何在Azure函数的应用程序设置中定义Providername属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆